sql-update – 从另一个表更新多个列 – 需要Oracle格式
发布时间:2021-05-25 06:54:29 所属栏目:编程 来源:网络整理
导读:我有一个我在SQL Server中行使的剧本,但我必要将其转换为Oracle名目.有人可以资助吗? UPDATE PERSONS P SET P.JOBTITLE=TE.JOBTITLE,P.LAST_NAME=TE.LAST_NAME,P.FIRST_NAME=TE.FIRST_NAME,P.DBLOGIN_ID=TE.DBLOGIN_ID,P.EMAIL_ID=TE.EMAIL_ID,P.USERLEVEL=T
我有一个我在SQL Server中行使的剧本,但我必要将其转换为Oracle名目.有人可以资助吗? UPDATE PERSONS P SET P.JOBTITLE=TE.JOBTITLE,P.LAST_NAME=TE.LAST_NAME,P.FIRST_NAME=TE.FIRST_NAME,P.DBLOGIN_ID=TE.DBLOGIN_ID,P.EMAIL_ID=TE.EMAIL_ID,P.USERLEVEL=TE.USERLEVEL,P.FACILITY_ID=TE.FACILITY_ID,P.SUPERVISOR=TE.SUPERVISOR,P.DEPARTMENT=TE.DEPARTMENT,P.WINLOGINID=TE.WINLOGINID FROM TEMP_ECOLAB_PERSONS TE WHERE P.PERSON=TE.PERSON; – 从下面的文章中我得出以下声明.不幸的是,它如故不起浸染: UPDATE (SELECT P.JOBTITLE,P.LAST_NAME,P.FIRST_NAME,P.DBLOGIN_ID,P.EMAIL_ID,P.USERLEVEL,P.FACILITY_ID,P.SUPERVISOR,P.DEPARTMENT,TE.JOBTITLE,TE.LAST_NAME,TE.FIRST_NAME,TE.DBLOGIN_ID,TE.EMAIL_ID,TE.USERLEVEL,TE.FACILITY_ID,TE.SUPERVISOR,TE.DEPARTMENT FROM PERSONS P,TEMP_ECOLAB_PERSONS TE WHERE P.PERSON=TE.PERSON) SET P.JOBTITLE=TE.JOBTITLE,P.DEPARTMENT=TE.DEPARTMENT; 办理要领我就是这样做的.它也许不是最好的示意,但它确实有用.MERGE INTO PERSONS_TMP PT USING ( SELECT P.PERSON,P.JOB_TITLE,P.FACILITY_ID FROM PERSONS P) TMP ON (PT.PERSON = TMP.PERSON) WHEN MATCHED THEN UPDATE SET PT.FACILITY_ID = TMP.FACILITY_ID,PT.JOB_TITLE = TMP.JOB_TITLE,PT.FIRST_NAME = TMP.FIRST_NAME,PT.LAST_NAME = TMP.LAST_NAME; 上面的剧本将行使PERSONS表中的数据更新PERSONS_TMP表中的信息.我信托你的环境,你想要反过来.因此,请确保在运行剧本之前举办须要的变动. 假如必要插入新记录(假如不存在),可以在上面的SQL中添加“WHEN NOT MATCHED THEN ….”子句. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |