when does the SQL statement gets executed when you use
cursor in the application programming ?
Answers were Sorted based on User's Feedback
Answer / mna
The process of using cursor is:
1. declare the cursor in working storage: You will write
the SQL query here
2. open the declared cursor : this is when the actual SQL
query is executed and the fetched rows are moved to the
cursor storage.
3. Fetch rows from cursor : Reading rows one by one on the
Cursor just like we read records from a sequential file
4. Close cursor : While fetching if we get an SQLCODE=+100
it is the end of the cursor just like we encounter eof
while reading records from a sequential file. Once this
condition is encountered we will close the cursor.
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / m4io
It depends
If the cursor needs materialization then it gets executed
on "open cursor" like answer 1 and 2 say.
else
the query for the next row gets executed on each fetch.
Materialization happens f.e. when sorts are used.
You can close a cursor without having sqlcode +100.
Suppose a cics transaction reads a table (1.000.000 rows)
via an index : if only 20 rows are needed it will only
request 20 rows (1 each fetch) and then close the cursor.
In batch : if I get 100 pens and need to distribute them to
the people who requested some in order of date-requested, I
will close cursor as soon as 100 pens are distributed.
| Is This Answer Correct ? | 1 Yes | 1 No |
How to resolve -504 sql code in DB2?
How to check last update on table in db2?
I have two tables A and B. Both tables are connected with SSN number as foreign key. I want to retrieve a column data from B table. How will you write a query?
What db2 400?
Cursors can be declared in both working-storage & procedure division, agreed. But is there any difference? If could you please suggest what is the difference
What is reorg and runstats in db2?
what is + sign and -ve sign for sql code ?
How can we retrieve the total number of records in RPG & CLLE?
Which components manage deadlocks in db2?
How to rename a table in DB2 ?
Is it Possible to declare or create a cursor for UPDATE of table? If yes tell me how? If no Tell me why?
A Table feild is declared as Decimal(7,2). I want to insert the decimal in to this column thru cobol-db2 program. How should I declare my local input file variable or any suggestion?