在PL/SQL中动态声明变量
该程序从输入字符串中提取数字。例如:ab123cde4f。现在,如果只有输入字符串有数字,那么在检查Begin..End块中的数字之后,我将声明一个numberdatatype变量来提取数字。如果没有数字,我将不声明任何变量,只给dbms输出输入字符串不包含任何数字。建议使用pl/sql块。如果您的问题是,变量是否可以在BEGIN…END块中声明。不,你总是需要一个declare块 但是,您也可以在BEGIN…END块中使用declare在PL/SQL中动态声明变量,sql,plsql,Sql,Plsql,该程序从输入字符串中提取数字。例如:ab123cde4f。现在,如果只有输入字符串有数字,那么在检查Begin..End块中的数字之后,我将声明一个numberdatatype变量来提取数字。如果没有数字,我将不声明任何变量,只给dbms输出输入字符串不包含任何数字。建议使用pl/sql块。如果您的问题是,变量是否可以在BEGIN…END块中声明。不,你总是需要一个declare块 但是,您也可以在BEGIN…END块中使用declare BEGIN IF 1=1 THEN
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;
不过我不建议这么做,仅仅定义一个变量更重要 在堆栈溢出时,建议您尝试编写一些代码first@tapabrata为什么不想声明任何变量?显然,正确的方法是声明数字数据类型的变量,但如果输入不包含任何数字,则不使用它。在PL/SQL程序的Begin End块中是否可以声明任何变量??我完全同意正确的方法是声明一个数值数据类型的变量,并在我的条件为真时使用它。