Help using Base SAS procedures

PROC DB2UTIL table name too long

Reply
N/A
Posts: 0

PROC DB2UTIL table name too long

I am trying to delete records from a db2 table using proc DB2UTIL as shown below on os/390. As table name is too long I am getting following error

data indate;
deldate = '30NOV08' ;

options db2ssid=dbXX ;
proc db2util
data = indate
table = aaaaaaa.mmmmm_eee_xxxx_yyyy
function=delete update;
where calendar_dt = %deldate;
sqlout = sqlfile;
update;
run;

As existing table name is too long, I am getting the following error.
DSNT408I SQLCODE = -204, ERROR: aaaaaaa.mmmmm_eee_xxxx_yy . If you observe the last two bytes are truncated. The table has 5million rows, so I am not able to create view also. Can anyone suggest how to handle this?
Super User
Posts: 5,437

Re: PROC DB2UTIL table name too long

Posted in reply to deleted_user
The documentation states that db2util is compatible with SAS version 5. Maybe that affects the possibility to specify table name longer than 8 bytes...?
Another odd thing is how you refer to %deldate, can't see it defined in your program.
But as also declared in documentation, it's recommended to move from db2util to a libname approach, using regular SQL (which would probably be a implicit pass-thru to DB2).
/Linus
Data never sleeps
Ask a Question
Discussion stats
  • 1 reply
  • 251 views
  • 0 likes
  • 2 in conversation