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.
No Answer is Posted For this Question
Be the First to Post Answer
How do I delete a column in db2?
What is the difference between Primary key and unique index?
What is Skeleton cursor table (SKCT)?
What will the FREE command do to a plan?
how many partitions are possible in partitioned tablespace? dont say 1-64. a)240 b)256 c)512 d)none
How do I handle -911 (deadlock) error in a db2 program so that the program will never abend?
How to create a table using embedded sql?
Can we declare cursor in Procudere division or open the cursor in the Working storage section. Is there any particular rules in the usage of cursors lifecycle
What is temporal table in db2?
What is db2 instance?
What is bind plan?
What is IMAGECOPY ?