DATA Step, Macro, Functions and more

Multiple Volatile teradata tables in SAS

Reply
New Contributor
Posts: 2

Multiple Volatile teradata tables in SAS

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.

Super Contributor
Posts: 376

Re: Multiple Volatile teradata tables in SAS

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.

Ask a Question
Discussion stats
  • 1 reply
  • 349 views
  • 0 likes
  • 2 in conversation