1存储过程主体
--存储过程,传入参数,求要求的商品总价 CREATE OR REPLACE PROCEDURE P_PRO ( P_NAME VARCHAR2, U_NAME VARCHAR2 ) AS A_OVER NUMBER; BEGIN SELECT B.PRODUCT_NUM*B.PRICE INTO A_OVER FROM USER_M A, PRODUCT_RELEASE B WHERE A.USER_ID=B.PRODUCT_ID AND B.PRODUCT_NAME=P_NAME AND A.USER_NAME=U_NAME; DBMS_OUTPUT.PUT_LINE(A_OVER); EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('NO_DATA_FOUND'); END P_PRO;
2.调用存储过程
DECLARE N VARCHAR2(20); P VARCHAR2(20); BEGIN N:='护肤水'; p:='张力'; P_PRO(P_NAME=>n, U_NAME=>p ); END;
添加 存储过程带输出参数的创建及调用
---存储过程带输入输出参数 CREATE OR REPLACE PROCEDURE PR_C(AT_C IN VARCHAR, AN_C OUT VARCHAR, AC_C OUT NUMBER ) AS BEGIN SELECT USER_NAME, EMAIL INTO AN_C, AC_C FROM USER_M WHERE DEPART = AT_C; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('NO_DATA_FOUND'); END PR_C;
----调用带输入输出参数的存储过程 DECLARE C_AN VARCHAR(20); C_AAC NUMBER; BEGIN PR_C('建筑系',C_AN,C_AAC); DBMS_OUTPUT.PUT_LINE('用户姓名是:'||C_AN||' 用户邮箱是:'||C_AAC); END;
结果