SAS allows you to create an operator proc sql create tablewhere the created table recursively refers to itself in the select statement, for example:
proc sql
create table
proc sql; create table t1 as select t1.id ,t2.val1 from t1 inner join t2 on t1.id=t2.id ; quit;
When this expression is executed, a warning message is written to the log.
WARNING: This CREATE TABLE statement recursively references the target table. A consequence of this is a possible data integrity problem.
This warning can be suppressed with the parameter undo_policy=none. (see Note on using SAS 12062 )
undo_policy=none
Question:
Is it possible to create a table in such a recursive manner, potentially return some unexpected results? Is it possible that this will create different results that will cause the same operation in 2 stages:
proc sql; create table _data_ as select t1.id ,t2.val1 from t1 inner join t2 on t1.id=t2.id; create table t1 as select * from &syslast; quit;
Is a two-step approach more efficient / safer?
, SAS. .
data t1; merge t1 t2; by id; run;
SAS , , , t1.sas7bdat t1.sas7bdat. PROC SQL, SAS .
t1.sas7bdat
, , , (, Oracle), SAS , .
, , SAS proc sql, . , 100% . , , .
SAS : http://support.sas.com/kb/12/062.html
Source: https://habr.com/ru/post/1628859/More articles:Rails - How to access the attribute of nested parameters? - ruby | fooobar.comWhy does inferrer of createDataFrame not create columns of this data as rows? - pythonHow to use SUM () fields in a sliding table - mysqlAccess a mapped drive using IIS to run the asp.net mvc web application - c #Cordova plugins undefined - javascriptReplace Single WhiteSpace without replacing multiple WhiteSpace - c #cannot connect: com.github.dockerjava.api.NotFoundException - dockerCppCheck warning: the expression depends on the evaluation order at x = xПостроение легенды с правильными метками python - pythonDjango Requested URL / not found on this server - pythonAll Articles