我有一个包含值' 1'
的变量当前代码:
if var1 in (1, 2, 3, 4) then ...
所需格式(我不想对比较值进行硬编码):
if var1 in (select col1 from table1) then ...
Select col1 from table1;
1
2
3
4
答案 0 :(得分:1)
根据您使用的语言,您可以将select语句结果返回给数组或对象,之后您可以对数组或对象执行条件语句:
EX。 ARR中的IF var1 ..
答案 1 :(得分:1)
这是正确的方法:
declare
rid rowid;
begin
--prior logic
begin
select rowid into rid from table1 where table1.col1=var1;
-- condition is met here, do the then part
exception
when no_data_found then
--this is the else part, if you do not want to do anything, then
-- just put null;
end;
--subsequent logic
end;
为什么这是正确的方法:
答案 2 :(得分:0)
我认为这应该是方法。
select count(*) from table1 into var1_cnt
where table1.col1 = var1;
if var1_cnt > 0 then
.......
end if;