求 oracle 从一个表中取出数据作为参数 修改另一个表的sql语句 5
4个回答
展开全部
使用语句块、游标:
1、将数据表作以游标形式取数据;
2、将取出数据经过逻辑判断后,执行UPDATE语句。
declare
v_1 varchar2(100);
curor v_cur is
select a_1 from A_table where ....; ----从一个表取数据
begin
open v_cur
fetch v_cur into v_1;
exit when v_cur %notfound;
if ... then ----判断是否需要执行更新
update B_table set b_1=a_1 where ...;-----将A表取值更新B表数据
end if;
close v_cur ;
commit;
end;
1、将数据表作以游标形式取数据;
2、将取出数据经过逻辑判断后,执行UPDATE语句。
declare
v_1 varchar2(100);
curor v_cur is
select a_1 from A_table where ....; ----从一个表取数据
begin
open v_cur
fetch v_cur into v_1;
exit when v_cur %notfound;
if ... then ----判断是否需要执行更新
update B_table set b_1=a_1 where ...;-----将A表取值更新B表数据
end if;
close v_cur ;
commit;
end;
展开全部
有两种情况:
1.查询a表结果,作为更新b表的条件;
update table_b set col_1 = '123' where col_2 in (select col_22 from table_a where ...);
2.查询a表结果,用来更新b表指定条件
update table_b set col_1 = (select col_11 from table_a where col_22 = table_b.col_2) where ...
不知道你是哪种,套用这个试试。如果情况复杂,请追问,列出表结果,说明操作要求。
1.查询a表结果,作为更新b表的条件;
update table_b set col_1 = '123' where col_2 in (select col_22 from table_a where ...);
2.查询a表结果,用来更新b表指定条件
update table_b set col_1 = (select col_11 from table_a where col_22 = table_b.col_2) where ...
不知道你是哪种,套用这个试试。如果情况复杂,请追问,列出表结果,说明操作要求。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select
a
into
v_a
from A;
case
v_a
when ……
then ……
when ……
then ……
else ……
end
a
into
v_a
from A;
case
v_a
when ……
then ……
when ……
then ……
else ……
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用游标
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询