CREATE OR REPLACE
PROCEDURE AddNewTuiFei
(
n_id T_MZTFSQ_JOB.id%TYPE, --唯一標識ID
n_mzh T_MZTFSQ_JOB.F_MZH%TYPE, --門診號
n_jzkh T_MZTFSQ_JOB.F_JZKH%TYPE, --就診卡號
n_hzxm T_MZTFSQ_JOB.F_HZXM%TYPE, --患者姓名
n_tfyy T_MZTFSQ_JOB.F_TFYY%TYPE, --退費原因
n_tfyp T_MZTFSQ_JOB.F_TFYP%TYPE, --退費藥品/檢查
n_applydate T_MZTFSQ_JOB.F_APPLYDATE%TYPE, --申請發起時間
n_mzlsh T_MZTFSQ_JOB.F_MZLSH%TYPE, --門診流水號
n_totalprice T_MZTFSQ_JOB.F_TOTALPRICE%TYPE, --退費總價
n_createtime T_MZTFSQ_JOB.CREATE_TIME %TYPE, --創建時間
n_issend T_MZTFSQ_JOB.IS_SEND%TYPE --是否發送(默認為空,用作OA輪詢判斷)
)
AS
BEGIN
--向表中插入資料
INSERT INTO T_MZTFSQ_JOB(id,F_MZH,F_JZKH,F_HZXM,F_TFYY,F_TFYP,F_APPLYDATE,F_MZLSH,F_TOTALPRICE,CREATE_TIME,IS_SEND)
VALUES(n_id,n_mzh,n_jzkh,n_hzxm,n_tfyy,n_tfyp,n_applydate,n_mzlsh,n_totalprice,n_createtime,n_issend);
EXCEPTION
WHEN OTHERS Then
DBMS_OUTPUT.PUT_LINE('存盤失敗');
Rollback;
COMMIT;
END AddNewTuiFei;
因為這個存盤程序是給別的系統提供的,現在要讓對方看是否執行成功,怎么添加一個回傳值來判斷?
uj5u.com熱心網友回復:
PROCEDURE AddNewTuiFe(o_res out number)uj5u.com熱心網友回復:
CREATE OR REPLACE
PROCEDURE AddNewTuiFei
(
n_id T_MZTFSQ_JOB.id%TYPE, --唯一標識ID
n_mzh T_MZTFSQ_JOB.F_MZH%TYPE, --門診號
n_jzkh T_MZTFSQ_JOB.F_JZKH%TYPE, --就診卡號
n_hzxm T_MZTFSQ_JOB.F_HZXM%TYPE, --患者姓名
n_tfyy T_MZTFSQ_JOB.F_TFYY%TYPE, --退費原因
n_tfyp T_MZTFSQ_JOB.F_TFYP%TYPE, --退費藥品/檢查
n_applydate T_MZTFSQ_JOB.F_APPLYDATE%TYPE, --申請發起時間
n_mzlsh T_MZTFSQ_JOB.F_MZLSH%TYPE, --門診流水號
n_totalprice T_MZTFSQ_JOB.F_TOTALPRICE%TYPE, --退費總價
n_createtime T_MZTFSQ_JOB.CREATE_TIME %TYPE, --創建時間
n_issend T_MZTFSQ_JOB.IS_SEND%TYPE, --是否發送(默認為空,用作OA輪詢判斷)
ret_code out varchar2(1),
ret_desc out varchar2(100)
)
AS
BEGIN
--向表中插入資料
INSERT INTO T_MZTFSQ_JOB(id,F_MZH,F_JZKH,F_HZXM,F_TFYY,F_TFYP,F_APPLYDATE,F_MZLSH,F_TOTALPRICE,CREATE_TIME,IS_SEND)
VALUES(n_id,n_mzh,n_jzkh,n_hzxm,n_tfyy,n_tfyp,n_applydate,n_mzlsh,n_totalprice,n_createtime,n_issend);
EXCEPTION
WHEN OTHERS Then
ret_code := 0;
DBMS_OUTPUT.PUT_LINE('存盤失敗');
Rollback;
COMMIT;
END AddNewTuiFei;
改成這樣會報錯
uj5u.com熱心網友回復:
你那個ret_code和out之間的空格是全角字符改成半角就行了。
uj5u.com熱心網友回復:
CREATE OR REPLACE
PROCEDURE AddNewTuiFei(In_Data IN VARCHAR2, -- 傳入資料
Out_Errorcd OUT VARCHAR2, -- 提示碼
Out_Errortx OUT VARCHAR2 -- 提示資訊
) IS
n_id T_MZTFSQ_JOB.id%TYPE, --唯一標識ID
n_mzh T_MZTFSQ_JOB.F_MZH%TYPE, --門診號
n_jzkh T_MZTFSQ_JOB.F_JZKH%TYPE, --就診卡號
n_hzxm T_MZTFSQ_JOB.F_HZXM%TYPE, --患者姓名
n_tfyy T_MZTFSQ_JOB.F_TFYY%TYPE, --退費原因
n_tfyp T_MZTFSQ_JOB.F_TFYP%TYPE, --退費藥品/檢查
n_applydate T_MZTFSQ_JOB.F_APPLYDATE%TYPE, --申請發起時間
n_mzlsh T_MZTFSQ_JOB.F_MZLSH%TYPE, --門診流水號
n_totalprice T_MZTFSQ_JOB.F_TOTALPRICE%TYPE, --退費總價
n_createtime T_MZTFSQ_JOB.CREATE_TIME %TYPE, --創建時間
n_issend T_MZTFSQ_JOB.IS_SEND%TYPE --是否發送(默認為空,用作OA輪詢判斷)
BEGIN
--向表中插入資料
INSERT INTO T_MZTFSQ_JOB(id,F_MZH,F_JZKH,F_HZXM,F_TFYY,F_TFYP,F_APPLYDATE,F_MZLSH,F_TOTALPRICE,CREATE_TIME,IS_SEND)
VALUES(n_id,n_mzh,n_jzkh,n_hzxm,n_tfyy,n_tfyp,n_applydate,n_mzlsh,n_totalprice,n_createtime,n_issend);
Out_Errorcd := 'SUCC';
Out_Errortx := '存盤成功';
EXCEPTION
WHEN OTHERS Then
DBMS_OUTPUT.PUT_LINE('存盤失敗');
Rollback;
Out_Errorcd := 'FAIL';
Out_Errortx := '存盤失敗';
COMMIT;
END AddNewTuiFei;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/90794.html
標籤:基礎和管理
下一篇:dataguard,主庫版本10.2.0.1 rman恢復到備庫版本10.2.0.5,備庫open read only是報ora-01092
