Plsql 嵌套IF';PL/SQL中的s
我试图在pl/sql块中编写嵌套的IFs。我该怎么安排呢Plsql 嵌套IF';PL/SQL中的s,plsql,nested-if,Plsql,Nested If,我试图在pl/sql块中编写嵌套的IFs。我该怎么安排呢 IF r1.CABLE_TYPE = "A" THEN var_root = FC_CPSCBPR1.C_111_SCPSCBP 我现在必须包括逻辑 If var_root is "TRUE" /*If the value is populated*/ THEN IF ... THEN Elsif var_root is "FALSE" /*If the value is not found*
IF r1.CABLE_TYPE = "A" THEN
var_root = FC_CPSCBPR1.C_111_SCPSCBP
我现在必须包括逻辑
If var_root is "TRUE" /*If the value is populated*/
THEN
IF ...
THEN
Elsif var_root is "FALSE" /*If the value is not found*/
THEN
查看嵌套的IF语句。如果要结束每项操作,则需要一个
结束
您还可以拥有所需的任意多个语句。例如
DECLARE
PROCEDURE p (sales NUMBER)
IS
bonus NUMBER := 0;
BEGIN
IF sales > 50000 THEN
bonus := 1500;
ELSIF sales > 35000 THEN
bonus := 500;
ELSE
bonus := 100;
END IF;
DBMS_OUTPUT.PUT_LINE (
'Sales = ' || sales || ', bonus = ' || bonus || '.'
);
END p;
BEGIN
p(55000);
p(40000);
p(30000);
END;
/
看看这个PL/SQL块结构示例-您需要记住使用end IF
和分号将IF
语句中的每一个语句作为一个封闭的代码块结束代码>
BEGIN
IF 10 > 5 THEN
IF 10 < 20 THEN
dbms_output.put_line('statement 1 from nested if');
ELSE
dbms_output.put_line('statement 2 from nested if');
END IF;
ELSE
dbms_output.put_line('statement not from nested if');
END IF;
END;
开始
如果10>5,则
如果10<20,则
dbms_output.put_行('nested if'中的语句1');
其他的
dbms_output.put_行('nested if'中的语句2');
如果结束;
其他的
dbms_output.put_line('statement not from nested if');
如果结束;
结束;
如果我要求,当我的奖金=(销售-配额)/4得到满足时,我必须再添加一条If语句。@soomastyam:我在其中添加了一条If语句-您应该能够使用上面的示例将它们嵌套到任意级别。不确定这是否是您的问题的一部分,但您需要对字符文本使用单引号,例如'A'
,不是“A”
。您的问题不清楚。嵌套IF语句有什么问题?
BEGIN
IF 10 > 5 THEN
IF 10 < 20 THEN
dbms_output.put_line('statement 1 from nested if');
ELSE
dbms_output.put_line('statement 2 from nested if');
END IF;
ELSE
dbms_output.put_line('statement not from nested if');
END IF;
END;