[英]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.