我有一个表table1(id,name,surname,ssn)和一个view1(id,ssn),这里是我的更新子句
update table1 set
ssn=v.ssn
from table1 t,view v
where t.id=v.id
但是我得到语法错误sql代码-201,有人知道是什么问题吗?
答案 0 :(得分:4)
你可以尝试:
UPDATE table1 SET ssn=(SELECT ssn FROM view WHERE table1.id=view.id)
PS你使用奇怪的名字:table1
,view
。他们对这些表/视图中的数据一无所知。我希望这只是针对这个问题。
答案 1 :(得分:2)
您可以使用MERGE语句 但这取决于您使用的Informix引擎版本(此答案工作需要11.50版本)。
查看其他类似问题/答案answer以获取更多信息。
MERGE INTO table1 as t1
USING table2 as t2
ON t1.ID = t2.ID
WHEN MATCHED THEN UPDATE set (t1.col1, t1.col2) = (t2.col1, t2.col2);