我有一个 pl/sql 匿名块的问题。虽然我可以显示通过选择查询获得的变量,但如果我在更新语句中使用它会出现转换错误。
我的代码如下所示:
set serveroutput on
DECLARE
var1 scheme.table.column1%type; /* number[8,0] */
var2 scheme.table.column2%type; /* number[8,2] */
BEGIN
/* return simple value */
select t.column1, t.column2
into var1, var2
from scheme.table t
where <condition>
DBMS_OUTPUT.PUT_LINE('Var1 is: ' || var1 || ' Var2 is:' || var2); /* fine!!*/
update scheme.table
set scheme.table.column1 = var1 + 1
where scheme.table.column2 = var2; /* that is line error*/
END;
/*
ORA-06502: PL/SQL: error : error de conversión de carácter a número numérico o de valor
ORA-06512: en línea 58
06502. 00000 - "PL/SQL: numeric or value error%s"
*/
有人可以帮助我吗?