SAS:想知道如何将 WORK.WHATEVER 表中的数据传递到 Netezza 表中

Posted

技术标签:

【中文标题】SAS:想知道如何将 WORK.WHATEVER 表中的数据传递到 Netezza 表中【英文标题】:SAS: Want to know how to pass data from a WORK.WHATEVER table into a Netezza table 【发布时间】:2018-10-23 19:44:00 【问题描述】:

使用 SAS V 9.xxx。

如何将数据从通用 WORK 库中的表传递到 Netezza 中的表。

现在我可以从 Netezza 中取出数据并存储在 WORK 库中,例如:

/* using “connect to” */

proc sql;
connect to netezza (&us_mkt.);  
execute (

drop table &tempdir..SALES_TBL_TST1; 

create table &tempdir..SALES_TBL_TST1
as
   select * from &tempdir..SALES_TBL;
   /*select * from &tempdir..SALES_TBL */

) by netezza;
    disconnect from netezza;
quit;

/* using “connect using” */

proc sql;

   connect using ROLAP;

   drop table WORK.SALES_TBL_TST2;

     create table WORK.SALES_TBL_TST2 AS
   select * from connection to ROLAP
      (select * from USER_ROLAP.SALES_TBL);

   insert into WORK.SALES_TBL_TST2
   select * from connection to ROLAP
      (select * from &tempdir..SALES_TBL);

quit;

但是,如果我想将 WORK 库中的数据放回 Netezza 怎么办。比如:

  insert into &tempdir..SALES_TBL_TST1   
select * from WORK.SALES_TBL_TST2;

有没有办法做到这一点?

提前致谢!

【问题讨论】:

【参考方案1】:

您可以使用 libname 语句来移动数据。 需要批量加载(批量加载数据并更快)以快速传输记录。一旦定义了 libnames。可以通过 proc sql、datastep 或 proc append 将数据从工作中移动到 Netezza。移动数据代码类似于两个 SAS 库之间的数据移动(语法方面)。

下面是从http://support.sas.com/documentation/cdl/en/acreldb/63647/html/default/viewer.htm#a003181092.htm复制的代码

 libname sasflt 'SAS-data-library';


 libname net_air netezza user=louis pwd=fromage
    server=air2 database=flights;

Proc sql 示例

 proc sql;
create table net_air.flights98
   (bulkload=YES bl_options='logdir "c:\temp\netlogs"') 
    as select * from sasflt.flt98;
quit;

【讨论】:

也可以说“插入 net_air.flights98 (bulkload=YES bl_options='logdir "c:\temp\netlogs"') select * from sasflt.flt98;" ? 如果我不添加 (bulkload=YES bl_options='logdir "c:\temp\netlogs"') 短语,它会变慢还是出错? 较慢。不到 500 万,你甚至可能不需要它。 bulkload=YES 随着记录数量的增加而导入 等待是 net_air 还是 %net_air。 ?您不必在 SAS 中包含该库名称吗? net_air。无需担心 netezza,因为您在这里没有提及路径

以上是关于SAS:想知道如何将 WORK.WHATEVER 表中的数据传递到 Netezza 表中的主要内容,如果未能解决你的问题,请参考以下文章

将SAS读入文件转换为SQL

如何在WLATIN1编码的SAS会话中使用UTF-8编码的文件?

sas的结果怎么导出?我是新手,在导出里找不到计算结果,知道的回答一下,谢谢

SAS - 如何从数据集中获取最后的“n”个观察结果?

如何在 SAS 中精确地添加两个大数?

SAS 转换和缺失数据