今天在寫了一個存儲函數,用來重置序列的值為"1"開始,我在函數中更改序列的值時,使用我定義的變量“seq_currval”(類型為number),替代increment by后的具體數值,編譯能通過(整個函數沒有語法問題),但是一旦在java中調用此函數,就會報ORA-01722無效數字錯誤!(但若是改為具體數值,就不會報錯)在網上試過很多方法,都不能解決!有高手知道原因嗎?感謝--重置序列的值,增長值為1,初始值為1select seq_cus_id.nextval into seq_currval from dual;execute immediate 'select seq_cus_id.nextval from dual';alter_sql:='alter sequence seq_cus_idincrement by -seq_currval';execute immediate alter_sql;
1 回答

Cats萌萌
TA貢獻1805條經驗 獲得超9個贊
很明顯的變量賦值邏輯錯誤,改成
alter_sql:='alter sequence seq_cus_id increment by -'||seq_currval;
添加回答
舉報
0/150
提交
取消