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.
... View more