SAS:包含太多字符的表名称
SAS对于表名和列名有32个字符限制。我有一个场景,我想从表A中选择并加入表B(表B的名称超过32个字符)。如果我尝试在PROC SQL中编写此代码,则会出现一个错误,指出表B的名称超过了32个字符。SAS:包含太多字符的表名称
任何人都知道我可以如何得到这个?
回答:
假设这与非SAS DBMS(如SQL Server)一起工作,您应该使用直通SQL来处理选择,因为这适用于RDBMS的语法并且不具有32个字符的限制。
IE:
proc sql; connect to oledb (... init string ...);
create table work.mydata as
select * from connection to oledb (
... sql server or whatever syntax ...
);
quit;
你也可以要求DBA来构建一个观点,即有一个< 32个字符长的名字。
回答:
SAS无法与具有该长名称的“表”一起使用。您必须重命名文件。
回答:
如果SAS表的超过32个字符是非法的,则必须重命名物理文件。如果你正在读数据库表,你可以这样使用SQL passthrough像这样:
proc sql; connect to odbc(dsn=mydsn user=xxxx pwd=yyy);
select * from connection to odbc
(select * from my_table_with_a_very_Very_Very_Long_name);
disconnect from odbc;
quit;
以上是 SAS:包含太多字符的表名称 的全部内容, 来源链接: utcz.com/qa/257309.html