BookmarkSubscribeRSS Feed
Mike_Davis
Fluorite | Level 6

Hello all,

if I want upate tabel work.one for its column x and y as below,and want update their length,but there is error happend when I use length= statement in proc sql .

could anyone tell me how to change variable's length when using update in sql procedure?

Thanks!

Mike

data work.one;

length x y $5;

x='aaa';

y='bbb';

run;

proc sql noprint;

update work.one

set x= catx('|',x,'abcdefghijklmn') length x=$200

     ,y= catx('|',y"abcdefghilklmn") length y=$200

  ;

quit;

3 REPLIES 3
shivas
Pyrite | Level 9

Hi,

Try this..hope it helps

proc sql;

create table want as

select catx('|',x,'abcdefghijklmn') as x length =  200,catx('|',y,"abcdefghilklmn") as y length = 200 from one;

  quit;

Thanks,

Shiva

Doc_Duke
Rhodochrosite | Level 12

you can't change the length in an update statement, you need to use a create statemen.  Update may change in place, create builds a new table.

Ksharp
Super User

As Doc@Duke said, you need another statement to change the length of columns.

data work.one;
length x y $5;
x='aaa';
y='bbb';
run;

proc sql noprint;
alter table work.one modify x char(200),y char(200);


update work.one
set x= catx('|',x,'abcdefghijklmn') 
     ,y= catx('|',y,"abcdefghilklmn")
  ;
quit;

Ksharp

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

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
  • 3 replies
  • 5340 views
  • 8 likes
  • 4 in conversation