1 / 2
文档名称:

SAS访问数据库.docx

格式:docx   大小:9KB   页数:2页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

SAS访问数据库.docx

上传人:suijiazhuang1 2022/8/21 文件大小:9 KB

下载得到文件列表

SAS访问数据库.docx

相关文档

文档介绍

文档介绍:
这里说的访问数据库不是把数据库作为一个lib来访问,而是通过connection来访问,为什么要 用sas/access的这种办法来访问DBMS呢,是因为要处理大量数据的时候,SAS要在本机生成 一些文件(
这里说的访问数据库不是把数据库作为一个lib来访问,而是通过connection来访问,为什么要 用sas/access的这种办法来访问DBMS呢,是因为要处理大量数据的时候,SAS要在本机生成 一些文件(临时文件之类),而把sql语句直接提交给DBMS,由DMBS执行,SAS就不会需 要中间这些步骤了。
简单来说,就是把sql语句交给DBMS engine来执行,这种方式在SAS里叫做 Pass-Through Facility。
下面是一个完整的pass-through方式执行sql的语句:
proc sql;
connect to oracle as mydb (Path = 'ConnectionString' user='dbuser' password = 'passwd');
%put &sqlxmsg;
select count(*) from connection to mydb
(select * from scott);
%put &sqlxmsg;
disconnect from mydb;
quit;
connect to语句是连接到数据库,然后给sas 一个别名,叫mydb
select count(*) from connection to mydb 这里是指从 DBMS 返回的结果从 select 数据, 而真正运行在dbms端的语句则是括号中的这句 (select * from suspect_duplicates_2);
当然是 断开连接了 disconnect from mydb;
ps.
%put &sqlxmsg;是sas的宏,用来输出dbms的错误信息
以上的示例是用来select有结果集的,对于没有结果集的sql语句,要用到EXECUTE,见下例:
proc sql;
connect to oracle as mydb (Path = 'ConnectionString' user='dbuser' password = 'passwd');
%put &sqlxmsg;
execute
(create table ) by mydb;
%put &sqlxmsg;
disconnect from mydb;
quit;
括号里的sql语句可以是create, update,等等...