Oracle
如何從pl sql過程中獲取返回值並將其分配給變數?
程式碼:
execute x.procedurename(row.accc_no, row.bill_no, 0, null, row.total_balance, 'A',assgn_scen_site_cv, :assgn_scen_site_cv);
這是我的程序。
如何從此過程中獲取返回值並將其分配給變數?
您可以像這樣創建它:
CREATE OR REPLACE PROCEDURE procedurename(param1 NUMBER, param2 varchar(20), returnvalue OUT NUMBER); IS BEGIN ... your code END;
然後像這樣使用它:
returnvalue NUMBER; procedurename(0, 'xxx', returnvalue); dbms_output.putline(returnvalue);
您可以在 Oracle 網站上查看CREATE PROCEDURE文件。
如果我理解正確,您正在嘗試使用具有返回值的現有過程。這可以在另一個過程、包或函式中完成,但最簡單的方法是使用塊。在聲明部分中,您定義將接收值的變數,然後在對過程的呼叫中使用這些變數。
DECLARE vAccc_no Number(10); vBill_no Number(10); vTotal_Balance Number(10,2); vAssgn_scen_site_cv Varchar(80); vAssgn_scen_site_cv_i Varchar(80); BEGIN vAssgn_scen_site_cv_i := 'Pass To Procedure'; x.procedurename(vAccc_no, vBill_no, 0, null, vTotal_Balance, 'A', vAssgn_scen_site_cv , vAssgn_scen_site_cv_i); DBMS_Output.Put_Line('New value of Total_Balance: ' || vTotalBalance); END; /
我在猜測數據類型和輸入/輸出是什麼。