如何使用没有sql沙箱的SAS数据集创建易失性表teradata

时间:2017-09-06 00:23:54

标签: sas teradata

我有一个SAS数据集,我需要使用SAS数据集在Teradata中创建一个易失性表。但是,我没有沙箱来存储Teradata服务器上的表。有没有办法可以在没有SQL Sandbox的情况下从SAS数据集创建Teradata易失性表。

1 个答案:

答案 0 :(得分:0)

在Teradata中创建易失性表非常简单,只需在libname语句中使用dbmstemp=yes选项即可。

libname TDWORK teradata connection=global dbmstemp=yes .... ;
data tdwork.test1 ;
  set sashelp.class ;
run;

确保在所有LIBNAME和CONNECT语句上使用connection=global选项,以便与Teradata的所有连接使用相同的会话,以便您可以查看易失性表。保持至少一个libref打开,以便连接保持不变。

然后你也可以使用passthru SQL创建一个易失性表。

proc sql ;
  connect to teradata (connection=global .... );
  execute (
    create volatile table test2 as (
      select * from test1
    ) with data on commit preserve rows 
  ) by teradata;
quit;

或者通过SQL代码引用volatile表。

因此,如果您想从MYDB.MYTABLE中取出NAME所有记录,其中TEST1位于您上传到使用第一个数据生成的易失性表proc sql ; connect to teradata (connection=global .... ); create table mytest as select * from connection to teradata ( select * from mydb.mytable where name in (select name from test1) ); quit; 的名称列表中的所有记录上面的步骤你可以使用这样的代码:

["name":"John", "age":"27"]