首页 > 数据库技术 > 详细

Oracle批量更新语句

时间:2020-12-24 21:37:37      阅读:50      评论:0      收藏:0      [点我收藏+]

1.问题描述:对照a表,根据id将name对照着更新b表

2.思路:创建临时表存对照的数据,比如根据id更新name,那么这个临时表存id和name;使用更新语句更新符合条件的数据

3.MSSQL写法:

--创建临时表
SELECT A.FDEPTID,B.FNAME INTO #T FROM T_BD_DEPARTMENT A INNER JOIN T_BD_DEPARTMENT_L B ON A.FDEPTID = B.FDEPTID

--只更新部门维度且设置了部门ID的数据
UPDATE KDY_FA_DEPRECIATION SET FDPPROJECTNAME = #T.FNAME FROM #T,KDY_FA_DEPRECIATION WHERE #T.FDEPTID = KDY_FA_DEPRECIATION.FDPPROJECT
	AND FDPDIMENSION = ‘BD_Department‘ AND FDPPROJECT > 0 

4.ORACLE写法:

--创建会话级临时表存部门对照数据
CREATE GLOBAL Temporary TABLE DEMOTEST
ON COMMIT PRESERVE ROWS
AS
SELECT A.FDEPTID,B.FNAME FROM T_BD_DEPARTMENT A INNER JOIN T_BD_DEPARTMENT_L B ON A.FDEPTID = B.FDEPTID

--只更新部门维度且设置了部门ID的数据
--SELECT FDPPROJECTNAME,FDPPROJECT FROM KDY_FA_DEPRECIATION WHERE FDPDIMENSION = ‘BD_Department‘ AND FDPPROJECT > 0 
UPDATE KDY_FA_DEPRECIATION S SET S.FDPPROJECTNAME = (SELECT B.FNAME FROM DEMOTEST B WHERE S.FDPPROJECT = B.FDEPTID)
WHERE S.FDPDIMENSION = ‘BD_Department‘ AND S.FDPPROJECT > 0 

Oracle批量更新语句

原文:https://www.cnblogs.com/ButterflyEffect/p/14185680.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!