【发布时间】:2018-10-30 15:10:23
【问题描述】:
我有这个函数应该在 Netezza 中创建和加载一个表。
proc sql;
connect to odbc as nzCon (noprompt="Driver={NetezzaSQL}; server=actual_server; port=5486; database=myDB; username=xxxx; password=xxxx;");
create table results as select * from connection to nzCon
(SELECT * FROM SASTable WHERE ADDRESS LIKE '2%');
disconnect from nzCon;
quit;
这只是在 SAS 中创建表,因为当我在 Netezza 中刷新数据库时,没有创建表。我将如何修改它以便在 Netezza 中加载表?
谢谢!
【问题讨论】:
-
当您使用 SQL pass through 时,您无法同时访问您的 SAS 表和服务器上的数据。代码按原样传递给服务器。
-
@Reeza 所以你说的只是因为我可以连接到 netezza 服务器,这并不意味着我可以将数据加载到服务器上的表中?为什么从 netezza 中提取信息而不是加载信息如此简单
-
这很容易,在你的情况下它是“困难的”,因为你已经通过了。如果您通过 libname 连接,则与使用 SAS 数据集相同,至少在代码方面是这样。如果您的列或表名超过 32 个字符,或者您想直接在服务器上运行某些东西并且不想将代码转换为 SAS 但使用Netezza SQL。