0

我继承了在 3 个 Teradata 数据库上运行的陡峭 Teradata SQL 查询。不想陷入查询的功能方面(使用各种窗口语句),我想将查询显式传递给 Teradata(同一服务器)。

我熟悉的结构只连接到一个数据库,例如:

proc sql;
  connect to teradata  (user="userid" password="password1" mode=teradata    
  database=DB1   tdpid="MyServer");

  create table TD_Results as
	select * from connection to TERADATA 
    (
      ... TD SQL CODE
      ... TD SQL CODE
    );
quit;

有没有人知道如何通过直通使用引用 3 个数据库的原始 TD SQL 查询?

谢谢。

问。

4

1 回答 1

2

Teradata 所称的 DATABASE 就是 ORACLE 所称的 SCHEMA。您只需使用两级名称来引用表。

select a.x,b.y,c.z
from db1.table1 a
   , db2.table2 b
   , db3.table3 c

如果您的意思是您需要从多个服务器中进行选择,那么我认为您需要考虑使用 QueryGrid 语法。在该语法中,您可以在表引用上添加带有尾随 @ 的服务器名称。

select a.x,b.y,c.z
from db1.table1 a
   , db2.table2@server2 b
   , db3.table3 c
于 2016-09-09T18:09:45.230 回答