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 |
What is cloudant database?
what is check point and restart Logic ? why do we go for that ??
How do you do the EXPLAIN of a dynamic SQL statement?
Can we declare DB2 HOST variable in COBOL COPY book?
What are sqlcodes –803,-805, -811, -818,-904,-911,-913,-101, +100?
Do we need cursor for Count(*)?
How will you delete duplicate records from a table?
What is the maximum length of a column name in DB2? 18 or 30 or anything other than these?
Generally if I want to select the names starting with c I need to use c% But how could I code to select the data which contains % as a part of data.
If I have a view which is a join of two or more tables, can this view be updatable?
What is db2?
My sql statement select avg(salary) from emp yields inaccurate results. Why?