从 SAS 中的数据集 select 更新数据库
Update database from dataset select in SAS
我正在尝试从 SAS 数据集中更新数据库记录。这是我试过的:
proc sql noprint;
UPDATE A
SET
A.IP = U.IP,
A.COUNTRY = U.COUNTRY,
A.CREATION_DATE = U.CREATION_DATE,
A.STATUS = U.STATUS
FROM db_table.COUNTRY A INNER JOIN SAS_dataset U
on A.APPLICATION=U.APPLICATION;
quit;
run;
出现错误:
106 A.IP = U.IP,
_
73
76
ERROR 73-322: Expecting an =.
ERROR 76-322: Syntax error, statement will be ignored.
我的其他带有插入 等的代码 工作正常。
通过子查询解决
proc sql;
update tableA A
set var=
(select var
from tableB B
where B.id=A.id)
where exists (
select 1
from tableB B
where B.id=A.id);
quit;
我正在尝试从 SAS 数据集中更新数据库记录。这是我试过的:
proc sql noprint;
UPDATE A
SET
A.IP = U.IP,
A.COUNTRY = U.COUNTRY,
A.CREATION_DATE = U.CREATION_DATE,
A.STATUS = U.STATUS
FROM db_table.COUNTRY A INNER JOIN SAS_dataset U
on A.APPLICATION=U.APPLICATION;
quit;
run;
出现错误:
106 A.IP = U.IP,
_
73
76
ERROR 73-322: Expecting an =.
ERROR 76-322: Syntax error, statement will be ignored.
我的其他带有插入 等的代码 工作正常。
通过子查询解决
proc sql;
update tableA A
set var=
(select var
from tableB B
where B.id=A.id)
where exists (
select 1
from tableB B
where B.id=A.id);
quit;