繁体   English   中英

UNIX中的Teradata和SAS的多个数据库

[英]Multiple databases of Teradata and SAS in UNIX

我想知道如何在SAS(unix)中查询Teradata同一服务器的多个数据库。 我可以为一个数据库执行此操作,但是查询中涉及的数据库很少。 唯一相关的文章是使用Teradata ODBC的SAS连接到Teradata数据库,但无法获得正确的答案。 您能否分享语法/代码段。 任何评论表示赞赏。 谢谢!

编辑:

请看下面的脚本,我想做这样的事情。

libname lib 'mylibraryPath\';

proc sql;
connect to teradata  (user="userid" password="pwaaaowrd" mode=teradata  database=DB1   database=DB2   database=DB3   tdpid="MyServer");
execute (
create volatile table lib.tab1 as 
(

Select statements and several joins of different tables from different databases (server is same)
)
WITH DATA
PRIMARY INDEX (abcd)
ON COMMIT PRESERVE ROWS;
)
By Teradata;
execute (commit work) by Teradata;
disconnect from teradata;
quit;

如Chris在您链接的问题中所写,您可以使用所谓的隐式传递为每个需要指向的Teradata数据库定义一个libname:

libname db1 teradata user=xxx1 password=yyy1 database=zzz1;
libname db2 teradata user=xxx2 password=yyy2 database=zzz2;

然后,您可以在数据步骤或SQL查询中使用它们,就像它们是标准SAS库一样:

data join;
    merge db1.table1 db2.table2;
    by id;
run;

要么

proc sql;
    select *
    from db1.table1 t1
    left join db2.table2 t2
        on t1.id=t2.id;
quit;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM