Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist 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 Copy 4 byte of data from the last rec... arunsoods DFSORT/ICETOOL 9 Fri Oct 06, 2017 12:15 pm
No new posts Updating the Trailer count in variabl... satheshbabur DFSORT/ICETOOL 6 Wed Aug 30, 2017 9:49 pm
No new posts Repeat part of record multiple times Learncoholic DFSORT/ICETOOL 4 Tue Aug 29, 2017 11:33 am
No new posts Read two inputs and write into output... murali.andaluri DFSORT/ICETOOL 6 Wed Jul 26, 2017 7:35 pm
No new posts NDM syntax checking without actually ... GAPX1 All Other Mainframe Topics 0 Wed Jun 07, 2017 2:36 am

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us