我有一個pl/sql匿名塊的問題。雖然我可以顯示使用select查詢得到的變量,但如果在更新語句中使用它,則會出現轉換錯誤。PL/SQL:數字或值錯誤%s錯誤將字符轉換爲數字
我的代碼如下所示:
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"
*/
能somenone幫助我嗎?
var1和var2的值是什麼給你一個錯誤? – shareef
var1 = 9 var2 = 33 – dvdsantana