--====================================存储过程=============================================== /* *scm_iss.test_imit_pro1 *无参数存储过程 */ CREATE OR REPLACE PROCEDURE TEST_IMIT_PRO1 AS P_IMTI_NAME VARCHAR2(200); x_message VARCHAR2(200); BEGIN SELECT I.IMTI_NAME INTO P_IMTI_NAME FROM SCM_ISS.T_IMTI_TEST I WHERE I.IMTI_NO = 1001; DBMS_OUTPUT.PUT_LINE('result:' || P_IMTI_NAME); /*EXCEPTION WHEN OTHERS x_message := SUBSTR(SQLERRM,1,240);*/ END TEST_IMIT_PRO1; /* *scm_iss.test_imti_pro2 *带输入参数的存储过程 */ CREATE OR REPLACE PROCEDURE TEST_IMTI_PRO2(P_NO IN NUMBER) AS P_IMTI_NAME VARCHAR2(200); BEGIN SELECT I.IMTI_NAME INTO P_IMTI_NAME FROM SCM_ISS.T_IMTI_TEST I WHERE I.IMTI_NO = P_NO; DBMS_OUTPUT.PUT_LINE('NAME:' || P_IMTI_NAME); END TEST_IMTI_PRO2; --测试调用 CALL scm_iss.test_imti_pro2(1003); /* *scm_iss.test_imti_pro3 *带输入输出参数的存储过程 *不能直接掉用,需要在Function中调用 */ CREATE OR REPLACE PROCEDURE TEST_IMTI_PRO3(P_NO IN NUMBER, P_NAME OUT VARCHAR2) AS T_NAME VARCHAR2(200); BEGIN T_NAME := 'HELLO WORD.'; DBMS_OUTPUT.PUT_LINE('T_NAME:' || T_NAME); SELECT I.IMTI_NAME INTO P_NAME FROM SCM_ISS.T_IMTI_TEST I WHERE I.IMTI_NO = P_NO; DBMS_OUTPUT.PUT_LINE('TEST_IMTI_PRO3 RETURN:' || P_NAME); END TEST_IMTI_PRO3; /** *TEST_SALT_PRO1 *往数据库表中插入数据存储过程 **/ CREATE OR REPLACE PROCEDURE TEST_SALT_PRO1(P_SALT_NUM IN NUMBER,P_SALT_NAME IN VARCHAR2,P_SALT_DESC IN VARCHAR2) AS BEGIN INSERT INTO T_SALT_TEST(SALT_NO,SALT_NAME,SALT_DESC) VALUES(P_SALT_NUM,P_SALT_NAME,P_SALT_DESC); COMMIT; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM,1,240)); END TEST_SALT_PRO1; /* *scm_iss.test_imti_fun1 *无参数Function */ CREATE OR REPLACE FUNCTION TEST_IMTI_FUN1 RETURN VARCHAR2 IS P_ITME_NAME VARCHAR2(200); X_MESSAGE VARCHAR2(200); BEGIN SELECT I.IMTI_NAME INTO P_ITME_NAME FROM SCM_ISS.T_IMTI_TEST I WHERE I.IMTI_NO = 1002; --调用无参数存储过程 SCM_ISS.TEST_IMIT_PRO1; --调用输入参数存储过程 SCM_ISS.TEST_IMTI_PRO2(1003); RETURN P_ITME_NAME; EXCEPTION WHEN OTHERS THEN X_MESSAGE := SUBSTR(SQLERRM,1,240); RETURN X_MESSAGE; END TEST_IMTI_FUN1;
原文:http://blog.csdn.net/y541397839/article/details/41080119