我想问您如何将表从SAS移动到TeradataSQL Assistant。
我在SAS中所做的是定义一个libname,然后创建要在Teradata中移动的表。
libname NAME "/path"
proc sql;
create table WORK.EXAMPLE as(
select *
from DATASET
);
quit;
然而,我不知道我是否需要以这种方式将SAS连接到Teradata:
libname NAME teradata USER=tduser PASSWORD=tdpasswd SERVER=TDServ ;
proc sql;
connect to teradata (
tdpid=“” user=“” password=“”);
create table WORK.EXAMPLE as
select * from connection to teradata
(select * from DATASET
); quit;
我的问题是:
- 在第二个libname中,我应该在哪里考虑路径
- 我应该考虑上面的哪一个代码,为什么
- 如何在Teradata中"调用"此表?我尝试使用
SELECT * FROM WORK.EXAMPLE
,但它不存在
感谢您的帮助。
您可以使用LIBNAME语句连接到Terdata
libname mylib TERADATA .... ;
或PROC SQL中的CONNECT语句。
proc sql;
connect to teradata .... ;
事实上,您甚至可以在connect语句中使用先前创建的LIBNAME语句中创建的libref。
libname mylib TERADATA .... ;
proc sql;
connect using mylib ;
一般来说,我发现使用PROC APPEND将数据复制到Teradata中是最容易的。
libname td TERADATA ... ;
libname mysas 'path to where my SAS datasets live';
proc append base=td.target_table data=mysas.source_table force;
run;
如果目标表不存在,SAS将创建它。(在这种情况下,请小心,因为您可能不想要默认变量类型或将以这种方式创建的主索引。(。