现在的位置: 首页 > 综合 > 正文

ORALCE 两表结构更新

2012年08月11日 ⁄ 综合 ⁄ 共 1148字 ⁄ 字号 评论关闭
目前我做项目用到一个表,处理数据时先要过滤出要用的数据保存在另一个表中(表结构跟以前过滤数据表一样做为临时表处理业务),然后计算出二个日期来,现在要把临时表的ID相同记录的两个日期更新回数据表,ORACLE SQL如下
     UPDATE DPS.DAY_CUT_PLAN
               
SET  
                DPS.DAY_CUT_PLAN.PLAN_START_TIME  
=  (SELECT DPS.T_DAY_CUT_PLAN.PLAN_START_TIME FROM DPS.T_DAY_CUT_PLAN WHERE DPS.DAY_CUT_PLAN.WO_ID = DPS.T_DAY_CUT_PLAN.WO_ID),
                DPS.DAY_CUT_PLAN.PLAN_END_TIME    
= (SELECT DPS.T_DAY_CUT_PLAN.PLAN_END_TIME FROM DPS.T_DAY_CUT_PLAN WHERE DPS.DAY_CUT_PLAN.WO_ID = DPS.T_DAY_CUT_PLAN.WO_ID)
                
where dps.day_cut_plan.wo_id IN (SELECT DPS.T_DAY_CUT_PLAN.WO_ID FROM DPS.T_DAY_CUT_PLAN);     

 以下SQL在SQL SERVER 2000下可以运行,但在ORACLE中不可以,因为ORACLE的WHERE 条件不能有两个表


                以下语句在SQL SERVER中可以运行在ORACLE不知道为什么不能运行
                
UPDATE DPS.DAY_CUT_PLAN
               
SET  
                DPS.DAY_CUT_PLAN.PLAN_START_TIME  
= DPS.T_DAY_CUT_PLAN.PLAN_START_TIME,
                DPS.DAY_CUT_PLAN.PLAN_END_TIME    
= DPS.T_DAY_CUT_PLAN.PLAN_END_TIME 
                 
FROM DPS.DAY_CUT_PLAN ,DPS.T_DAY_CUT_PLAN   
              
WHERE DPS.DAY_CUT_PLAN.WO_ID = DPS.T_DAY_CUT_PLAN.WO_ID  

                              乔高峰   2005-11-23  于兰州烟厂信息中心

抱歉!评论已关闭.