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
 

 

Issuing UPDATE in COBOL-DB2 program without CURSOR

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

New User


Joined: 02 Jun 2007
Posts: 4
Location: Philippines

PostPosted: Mon Sep 10, 2007 11:04 am    Post subject: Issuing UPDATE in COBOL-DB2 program without CURSOR
Reply with quote

Hi everyone,

Im wondering, there's an impedance mismatch between set-level processing of DB2 and record-level processing of COBOL.. That's why we use CURSORs right? Would it be possible to UPDATE a table in one blow, affecting several rows in a program. If its possible, is it advisable resource-wise? A related reading material would be most appreciated..
Back to top
View user's profile Send private message

stodolas

Active Member


Joined: 13 Jun 2007
Posts: 632
Location: Wisconsin

PostPosted: Mon Sep 10, 2007 5:30 pm    Post subject:
Reply with quote

You don't need cursors to do updates to a table. The only time a cursor is needed is when reading multiple rows from a table.
Back to top
View user's profile Send private message
bosalting

New User


Joined: 02 Jun 2007
Posts: 4
Location: Philippines

PostPosted: Thu Sep 13, 2007 12:58 pm    Post subject:
Reply with quote

Steve,

Yes you do need a CURSOR if you want to update a table with multiple rows. You UPDATE it one at a time. Thats why in the CURSOR declaration for an update, you use keywords FOR UPDATE OF...
Back to top
View user's profile Send private message
stodolas

Active Member


Joined: 13 Jun 2007
Posts: 632
Location: Wisconsin

PostPosted: Thu Sep 13, 2007 6:31 pm    Post subject:
Reply with quote

But, if you do this

Code:

EXEC SQL
    UPDATE TABLE
    SET COLUMN1 = SomeVal
END-EXEC


I have updated multiple rows without using a cursor....
Back to top
View user's profile Send private message
dick scherrer

Site Director


Joined: 23 Nov 2006
Posts: 19270
Location: Inside the Matrix

PostPosted: Thu Sep 13, 2007 7:12 pm    Post subject:
Reply with quote

Hello,

Quote:
Yes you do need a CURSOR if you want to update a table with multiple rows. You UPDATE it one at a time
No, you do not have to use a cursor to update multiple rows. You can update multiple (selected) rows in a table by specifying a WHERE and you can update every row in a table if you do not specify a WHERE.

You update one row at a time when you are updating a row that was read by a cursor.
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 Executing OO COBOL program invoking J... Virendra Shambharkar COBOL Programming 2 Tue Jan 10, 2017 6:37 pm
No new posts OO COBOL compile error Virendra Shambharkar COBOL Programming 3 Tue Jan 10, 2017 6:05 pm
No new posts Need Suggestion on COBOL program vickey_dw COBOL Programming 5 Thu Jan 05, 2017 10:55 pm
No new posts I can not compile my program PL1 V3.R... Miguel Fernandez PL/I & Assembler 13 Tue Dec 06, 2016 8:30 pm
No new posts IMS BMP program causes 878 system abend Artemk IMS DB/DC 7 Tue Nov 22, 2016 8:26 pm


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