很好的一天,
我想更新表,以便标记两列之间的距离。我想用
进程SQL
。我可以通过几个不同的数据集来实现这一点,但是单个命令会更优雅。
但是,下面的代码给出了以下错误:
proc sql noprint;
update devStuff set flag =1 where portal in
(select distinct(portal) from devStuff
group by country, portal
having abs(max(last_proc) - max(pvm) ) >= 3)
; quit;
错误:无法使用成员级控件重新打开work.devstuff.data以进行更新访问,因为
您正在资源环境SQL中使用work.devstuff.data。
错误:如果发生错误,proc sql无法撤消此语句,因为它无法获取
对数据集的独占访问。此语句不会作为SQL选项执行
撤消策略=必需有效。
显然,我不能子查询要更新的数据集。(是的,这在“真正的SQL”中应该是正常的。)
这是“就这样”还是有聪明的工作?