BookmarkSubscribeRSS Feed
deleted_user
Not applicable
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?
1 REPLY 1
LinusH
Tourmaline | Level 20
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

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 966 views
  • 0 likes
  • 2 in conversation