Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

DB2 Record existence checking

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DB2
View previous topic :: :: View next topic  
Author Message
abdul

EXPERT


Joined: 28 Jul 2003
Posts: 23
Location: Bangalore,India

PostPosted: Tue Jun 15, 2004 8:51 am    Post subject: DB2 Record existence checking
Reply with quote

Hi,
Can anyone help me with a method to check whether a single record exists in a DB2 Table without using COUNT(*).
Thanks
Abdul
Back to top
View user's profile Send private message

GG

New User


Joined: 10 Jul 2004
Posts: 1

PostPosted: Sat Jul 10, 2004 11:17 pm    Post subject: Existence check
Reply with quote

EXEC SQL
SELECT 1
INTO :WS-COUNT
FROM <dbname>.<tbname>
WHERE ?
END-EXEC

IF SQLCODE EQUAL ROW-FOUND
DISPLAY 'SQLCODE = ROW FOUND'
ELSE
IF SQLCODE EQUAL ROW-NOT-FOUND
DISPLAY 'SQLCODE = ROW NOT FOUND'
ELSE
IF SQLCODE EQUAL MULTI-ROWS
DISPLAY 'SQLCODE = MULTIPLE ROWS FOUND'
ELSE
DISPLAY 'PGM T88TST - PG 3000 -'
' - BAD STUFF IS HAPPENING WITH THE SQLCODE '
DISPLAY 'SQLCODE ' SQLCODE
DISPLAY 'SQLERRMC ' SQLERRMC
MOVE Y TO TIME-TO-QUIT-FLAG
GO TO 3000-EXIT
.


The singleton does kick out an SQL Error code -811 when duplicates occur - the way it performs (SELECT 1), it only expects one row to be returned. Sometimes its nice to know if there are duplicates.


---------------------------------------------------------------------

EXEC SQL
SELECT 1
INTO :WS-COUNT
FROM SYSIBM.SYSDUMMY1 A
WHERE EXISTS
(SELECT 1
FROM <dbname>.<tbname> B
WHERE ?
AND A.IBMREQD = A.IBMREQD
)
END-EXEC

IF SQLCODE EQUAL ROW-FOUND
DISPLAY 'SQLCODE = ROW FOUND'
ELSE
IF SQLCODE EQUAL ROW-NOT-FOUND
DISPLAY 'SQLCODE = ROW NOT FOUND'
ELSE
DISPLAY 'PGM T88TST - PG 3000 -'
' - BAD STUFF IS HAPPENING WITH THE SQLCODE '
DISPLAY 'SQLCODE ' SQLCODE
DISPLAY 'SQLERRMC ' SQLERRMC
MOVE Y TO TIME-TO-QUIT-FLAG
GO TO 3000-EXIT
.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DB2 All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Record Not found in AlX but record re... mukun264 COBOL Programming 7 Fri Mar 24, 2017 9:28 am
No new posts Count the length of the record & ... sreekusr DFSORT/ICETOOL 4 Thu Mar 23, 2017 7:52 pm
No new posts IMS DB-How to update a record (a sing... Nic Clouston IMS DB/DC 9 Thu Mar 09, 2017 4:38 pm
No new posts To Merge mutliple records into a sing... anandgbe DFSORT/ICETOOL 6 Wed Feb 22, 2017 8:49 am
No new posts Checking Current date vickey_dw DFSORT/ICETOOL 1 Wed Feb 08, 2017 11:14 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us