首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

同表更新有关问题,到底错在哪里

2012-02-02 
同表更新问题,到底错在哪里?update t1SETt1.QUERY_YN t2.QUERY_YN,t1.INSERT_YN t2.INSERT_YN,t1.DELE

同表更新问题,到底错在哪里?
update t1
  SET t1.QUERY_YN = t2.QUERY_YN,  
  t1.INSERT_YN = t2.INSERT_YN,  
  t1.DELETE_YN = t2.DELETE_YN,  
  t1.SAVE_YN = t2.SAVE_YN,  
  t1.PRINT_YN = t2.PRINT_YN,  
  t1.ETC_YN = t2.ETC_YN
  FROM TSECPERPROGRAM t1,TSECPERPROGRAM t2
  WHERE ( t1.LMENU_ID = t2.LMENU_ID ) and  
  ( t1.MMENU_ID = t2.MMENU_ID ) and  
  ( t1.PROGRAM_ID = t2.PROGRAM_ID ) and  
  (( t2.SNO = '111' and t1.SNO='222' ) ) ;  


这个语法不能更新成功,有什么错?

[解决办法]
update t1 set ( , , ,...) = (select... from... where ...)
[解决办法]
类似这样。
update IDS
set (NAMES,Names2)
= (select t2.NAMES,t2.Names2 from IDS t2 where id=101 and t2.id2=ids.id2 )
where id=102
[解决办法]
同意1、3楼,楼主你语法错误。
[解决办法]
update TSECPERPROGRAM t1
SET ( t1.QUERY_YN, 
t1.INSERT_YN, 
t1.DELETE_YN,
t1.SAVE_YN,
t1.PRINT_YN, 
t1.ETC_YN )= 
(select t2.QUERY_YN,
t2.INSERT_YN,
t2.DELETE_YN,
t2.SAVE_YN,
t2.PRINT_YN,
t2.ETC_YN
from TSECPERPROGRAM t2 
where t1.LMENU_ID = t2.LMENU_ID and
t1.MMENU_ID = t2.MMENU_ID and
t1.PROGRAM_ID = t2.PROGRAM_ID and
t2.SNO = '111 ' ) 
where t1.SNO= '222 ' );

热点排行
Bad Request.