Plsql PL SQL+;使用替换变量的SQL简单语句
我想创建一个简单的IF-THEN-ELSE PL SQL,而不创建如下用于SQL工具的注释性块:Plsql PL SQL+;使用替换变量的SQL简单语句,plsql,sqltools,Plsql,Sqltools,我想创建一个简单的IF-THEN-ELSE PL SQL,而不创建如下用于SQL工具的注释性块: variable a varchar2(20) variable b varchar2(20) EXEC :a := '&insert_value_a' EXEC :b := '&insert_value_b' --下一部分我不知道怎么做: 如果给定了value:a并且它不是NULL,那么 EXECUTE SELECT column1,column2,column3 FRO
variable a varchar2(20)
variable b varchar2(20)
EXEC :a := '&insert_value_a'
EXEC :b := '&insert_value_b'
--下一部分我不知道怎么做:
如果给定了value:a并且它不是NULL,那么
EXECUTE
SELECT column1,column2,column3
FROM table
WHERE condition
AND column2 = :a or column3 = :a;
ELSE
--如果给定值b,则使用该值获取值:a
EXECUTE
SELECT column2 INTO :a
FROM table
WHERE column_x = :b;
SELECT column1,column2,column3
FROM table
WHERE condition
AND column2 = :a or column3 = :a;
END;
尝试使用NVL,如下所示:
SELECT column1,column2,column3
FROM table
WHERE condition
AND column2 = NVL(:a,SELECT column2
FROM table
WHERE column_x = :b)
or column3 = NVL(:a,SELECT column2
FROM table
WHERE column_x = :b);