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-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

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
  • 1259 views
  • 0 likes
  • 2 in conversation