除了modify
声明之外,是否还有其他方法可以修改SAS数据集的内容(即更改值或添加或删除行或列)不涉及涉及在工作中创建临时文件,然后替换整个原始文件?我可以在不创建临时文件的情况下修改现有的SAS数据集吗?
相关的问题:如果我有一个单一的proc sql
有一个create table
声明和几个insert
声明,所有针对同一个表,将SAS最终执行期间覆盖输出表几次,还是足够聪明来完成所有的一次写入?假设我没有连接到任何其他DBMS。
由于2人已经张贴了这个,下面是不是一个有效的答案:
data lib.dsn;
set lib.dsn;
/*Insert logic here*/
run;
如果你这样做,SAS创建一个临时文件,一旦数据步骤完成替换原始lib.dsn 。如果您中断这种数据步骤,日志中将会出现错误,但原始数据集将保持不变。
恕我直言,只有一个办法,找出:(?)填补或禁用saswork看看怎么了。 SAS不符合ACID标准,它可能依靠主机操作系统的文件系统操作来模拟其中的一部分)当然,还有拼接锁定。 – wildplasser 2014-10-08 23:37:35
我想我可以删除自己对工作目录的写入权限,看看SAS是否能够修改其他地方的数据集 - 感谢您的建议。 – user667489 2014-10-08 23:46:45