在PL / SQL中动态声明变量

时间:2017-07-20 11:45:03

标签: sql plsql

该程序用于从输入字符串中提取数字。例如:ab123cde4f。现在,如果只有输入字符串有数字,那么在检查Begin..End块中的数字后,我将声明一个数字数据类型的变量(以提取数字)。如果没有数字,我将不会声明任何变量,只是给dbms输出输入字符串不包含任何数字。建议一个pl / sql块。

1 个答案:

答案 0 :(得分:0)

如果你的问题是,如果变量可以在BEGIN...END block内声明。不,你总是需要一个declare块。

但是你也可以在BEGIN...END Block中使用声明。

BEGIN
    IF 1=1 THEN
        DECLARE
            v_chr VARCHAR2(100) := 'hello';
        BEGIN
            dbms_output.put_line(v_chr);
        END;
    ELSE
        DECLARE
            v_chr VARCHAR2(100) := 'world';
        BEGIN
            dbms_output.put_line(v_chr);
        END;
    END IF;
END;

我不会建议它,更多 KISS 只是定义一个变量。