我想知道在这段代码中 SAS SQL 传递中首先执行的是什么:
Connect To OLEDB As MYDB ( %DBConnect( Catalog = MYDB ) ) ;
Create table MYDB_extract as
select put(Parent,$ABC.) as PARENT,
put(PFX,z2.) as PFX,*
From Connection To MYDB
( SELECT
Appointment,Parents,Children,Cats,Dogs
FROM MYDB.dbo.FlatRecord
WHERE Appointment between '20150801' and '20150831'
And Children > 2);
Disconnect from MYDB;
由于 MS SQL-Server 不支持PUT
该查询会导致所有记录在本地处理还是仅处理来自 DBMS 的结果记录?
显式传递查询仍将处理并将其返回的内容返回给 SAS(无论记录有多少)。然后,SAS 将执行put
对返回的行进行操作。
因此,如果表中有 10000 行,并且 500 行满足中的条件where
, 500 条记录将转到 SAS,然后put
; SQL 将处理 10000 -> 500。
如果你把这个写在implicit通过,那么 SAS 可能(如果不太可能)完成了所有工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)