Is it possible to create multiple volatile teradata tables in the same SAS session?
Eg. Create a volatile table called vol1 with 10 records in it.
Then create a 2nd volatile table called vol2 that will read the records from vol1.
I'm a bit late to the party with this reply, but in case someone else finds this in the future...
libname x teradata server=&server authdomain=&authdomain connection=global dbmstemp=yes;
options sastrace=',,,d' sastraceloc=saslog;
data x.vol1;
do x=1 to 10;
output;
end;
run;
data x.vol2;
set x.vol1;
y=x**2;
run;
* explicit passthru ;
proc sql;
connect to teradata(server=&server authdomain=&authdomain connection=global);
execute (
CREATE MULTISET VOLATILE TABLE vol3 AS
(
SELECT x,y,(x**3) as z FROM vol2
) WITH DATA
ON COMMIT PRESERVE ROWS
) by teradata;
execute (COMMIT WORK) by teradata;
quit;
* data returned in indeterminate order ;
title "vol1";
proc print data=x.vol1;
run;
title "vol2";
proc print data=x.vol2;
run;
title "vol3";
proc print data=x.vol3;
run;
proc sql;
title "SQL select";
select * from x.vol3 order by x;
create view foo as select * from x.vol3 order by x;
quit;
title "foo view";
proc print data=foo;
run;
Pay close attention to the trace output in the SAS log.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.