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

哪位高手帮小弟我看一下这个简单的sql有什么有关问题

2012-01-30 
谁帮我看一下这个简单的sql有什么问题啊updatetbl1setclm1 :clm1,clm2 :clm2wheretbl1.k1 tbl2.clmx

谁帮我看一下这个简单的sql有什么问题啊
update
 tbl1
set
  clm1 = :clm1
  ,clm2 = :clm2
where 
  tbl1.k1 = tbl2.clmx
and tbl1.k2 = tbl2.clmy 
and tbl2.ka = :ka
and tbl2.kb = :kb

要更新tbl1的clm1和clm2,
k1和k2是tbl1的主键,
ka和kb是tbl2的主键
这么写为什么题是错误阿?

[解决办法]
提示什么错误?
[解决办法]
tab1和tab2有什么关联吗?
[解决办法]
这当然会错
应该这样
update 
tbl1 
set 
clm1 = :clm1 
,clm2 = :clm2 
where 
exist(select 1 from tbl2 tbl1.k1 = tbl2.clmx 
and tbl1.k2 = tbl2.clmy 
and tbl2.ka = :ka 
and tbl2.kb = :kb)
[解决办法]
改一下,用IN

update tbl1 
set clm1 = :clm1 ,clm2 = :clm2 
where (k1, k2) 
IN (select clmx, clmy 
from tbl2 
where ka=:ka and kb=:kb);

热点排行
Bad Request.