Answer Posted / vj
The program and its associated SQL package contain a consistency token that is checked when a call is made to the SQL package. The consistency tokens must match or the package cannot be used. It is possible for the program and SQL package to appear to be uncoordinated. Assume the program is on the iSeries system and the application server is another iSeries system. The program is running in session A and it is recreated in session B (where the SQL package is also recreated). The next call to the program in session A might result in a consistency token error. To avoid locating the SQL package on each call, SQL maintains a list of addresses for SQL packages that are used by each session. When session B re-creates the SQL package, the old SQL package is moved to the QRPLOBJ library. The address to the SQL package in session A is still valid. (This situation can be avoided by creating the program and SQL package from the session that is running the program, or by submitting a remote command to delete the old SQL package before creating the program.)
To use the new SQL package, you should end the connection with the remote system. You can either sign off the session and then sign on again, or you can use the interactive SQL (STRSQL) command to issue a DISCONNECT for unprotected network connections or a RELEASE followed by a COMMIT for protected connections. RCLDDMCNV should then be used to end the network connections. Call the program again.
Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
When reorg is used?
Explain about cursor stability?
What are the various isolation levels possible?
What are catalog tables in db2?
How do you pull up a query which was previously saved in qmf?
What is package in db2 mainframe?
What is buffer pool?
what is the role of the cursor in db2?
What is the difference between dbm cfg and db cfg file in db2 ?
Explain packages.
What is netezza database?
Mention some fields that are a part of sqlca.
Explain about rct.
SET is the ANSI standard for variable assignment, SELECT is not. SET can only assign one variable at a time, SELECT can make multiple assignments at once. If assigning from a query, SET can only assign a scalar value. If the query returns multiple values/rows then SET will raise an error. SELECT will assign one of the values to the variable and hide the fact that multiple values were returned (so you'd likely never know why something was going wrong elsewhere - have fun troubleshooting that one) When assigning from a query if there is no value returned then SET will assign NULL, where SELECT will not make the assignment at all (so the variable will not be changed from it's previous value) As far as speed differences - there are no direct differences between SET and SELECT. However SELECT's ability to make multiple assignments in one shot does give it a slight speed advantage over SET.
Explain what are the various isolation levels possible?