Problem Note 5504: Including an SQL statement in PROC DB2UTIL or PROC DBLOAD may cause
wrong table to be updated
If you use the SQL statement in PROC DB2UTIL or PROC DBLOAD while trying
to INSERT rows into an existing table, the wrong table may be updated.
Rather than passing the two-level name specified in the TABLE= option, a
one-level name is incorrectly passed to the data base. This will cause
problems if the authorization id supplied on the table option/statement
is different than the person who is actually submitting the request.
With PROC DB2UTIL this causes DB2 to look for a table owned by the user
submitting the request. If a table with the specified name does not
exist, an error is produced stating that the table does not exist. If
a table with the specified name does exist (and the variables match),
that table is incorrectly updated.
With PROC DBLOAD this causes DB2 to create a table that is owned by the
user submitting the request rather than the authorization id specified
on
the table statement.
It does not matter what you are doing in the SQL statement. Also with
PROC DB2UTIL the problem only occurs with inserts. It does not occur
when you are deleting or updating rows.
The only workaround is to do the SQL statement and the INSERT in two
separate steps if possible. This might not be possible if the SQL
statement is setting the CURRENT SQLID.
A Technical Support hot fix for Release 8.2 TSLEVEL TS2M0 for this
issue is available at:
http://www.sas.com/techsup/download/hotfix/82_sbcs_prod_list.html#005504
Operating System and Release Information
| SAS System | SAS/ACCESS Interface to DB2 | z/OS | 8 TS M0 | 9 TS M0 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
| Type: | Problem Note |
| Priority: | alert |
| Topic: | SAS Reference ==> Procedures ==> DB2UTIL
|
| Date Modified: | 2002-09-06 13:12:07 |
| Date Created: | 2001-07-26 11:05:12 |