Sql 游标数据的问题
我在编写代码时遇到了一个问题。请帮帮我 我有一个游标c1,它将有一些用户,另一个游标它将包含一些其他用户 c1和c2可能有一些共同的用户 我想写这样的代码Sql 游标数据的问题,sql,oracle,Sql,Oracle,我在编写代码时遇到了一个问题。请帮帮我 我有一个游标c1,它将有一些用户,另一个游标它将包含一些其他用户 c1和c2可能有一些共同的用户 我想写这样的代码 if c1.user=c2.user then insert into b1 table else insert c1 into b1 table insert c2 into b2 table end; 我想,我需要在if条件之前打开游标,但如果我在if条件之前打开2个游标,它会工作吗?如果没有,请建议其他方法。如果这些是您使用光标
if c1.user=c2.user
then
insert into b1 table
else
insert c1 into b1 table
insert c2 into b2 table
end;
我想,我需要在if条件之前打开游标,但如果我在if条件之前打开2个游标,它会工作吗?如果没有,请建议其他方法。如果这些是您使用光标中的数据执行的唯一操作,则根本不需要光标。将两个游标连接在一起并使用WHEN子句
insert all
into b1 (<columns> values (<values>)
when c1.user is null or c2.user is null
into b2 (<columns> values (<values>)
select <columns>
from <some_table> c1
full outer join <some_other_table> c2
on c1.user = c2.user
where <some_conditions>
通过使用完全外部联接将两个表联接在一起,可以从两个表中选择所有内容,请参见。您总是插入到表B1中,因此没有条件,但仅当用户不同时才插入到B2中,因此将使用when子句。如果它们不同,则其中一个将为空,因为它们没有满足连接条件。感谢您的回复。但我需要在else块中进行更多验证,并且只需要使用游标和plsql编程