gpt4 book ai didi

sql-server - 从文件运行 SQL 语句以在 SAS 中创建数据

转载 作者:行者123 更新时间:2023-12-04 00:04:22 25 4
gpt4 key购买 nike

我在 SAS 方面的经验很少。我确实有 SQL 方面的经验。

我想做以下事情:- 使用存储在文本文件中的 SQL 语句将数据导入 SAS。

有效的方法是复制并粘贴 SQL 服务器查询并将其作为 SAS 中的传递查询运行。我得到了数据(几分钟后)。

但我希望能够在 SSMS 中管理和开发 SQL 脚本,并将脚本存储在 sql 文件中。所以我尝试了以下方法:

proc sql;
connect to ODBC("dsn=DatabaseOfInterest");
create table NewDataSet as select * from connection to odbc(
%include 'C:\sqlscript.sql';
);
quit ;

这不起作用并会产生以下错误:

**ERROR: CLI prepare error: 
[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '%'.
**

有什么办法可以实现吗?

最佳答案

我不知道是否有真正干净的方法来解决这个问题。问题是连接到 SQL 正在将 %include 传递给 SQL 解析器,这与您的预期相比当然是不正确的。

但是,它将正确解析宏和宏变量,因此您可以将 SQL 命令读入宏变量并以这种方式使用它。下面是一种方法。

filename tempfile temp;  *imaginary file - this would be your SQL script;
data _null_; *creating a mocked up SQL script file;
file tempfile;
put "select * from country";
run;

data _null_; *reading the SQL script into a variable, hopefully under 32767?;
infile tempfile recfm=f lrecl=32767 pad;
input @1 sqlcode $32767.;
call symputx('sqlcode',sqlcode); *putting it into a macro variable;
run;


proc sql; *using it;
connect to oledb(init_string=&dev_string);
select * from connection to oledb(
&sqlcode.
);
quit;

关于sql-server - 从文件运行 SQL 语句以在 SAS 中创建数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21311275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com