|
This works just fine at 7.2
update mytable
set row = :myDs;
So why doesn't this?
update mytable
set (col1, col2, col3) = (:myDs);
I get a
SQL0312 30
Variable MYDS not defined or not usable. Reason: No declaration for the
variable exists, the declaration is not within the current scope, or the
variable does not have an equivalent SQL data type.
The SQL Reference manual shows the same diagram for the right hand side of
the equal sign for both ROW = and ( column list ) =
Note that it also seems to indicate parentheses are required around the
right regardless. Though ROW = above compiles and works.
Without parentheses on the second form I get
SQL0104 Position 26 Token : was not valid. Valid tokens: ( NULL DEFAULT.
I'd swear I've used a DS with a column list before...but maybe not...
I can switch to
update mytable
set (col1, col2, col3)
= (:myDs.col1, :myDs.col2, :myDs.col3);
If I must...but of course there's more than just 3 columns...
Thanks
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.