当前位置:Gxlcms > 数据库问题 > oracle pl/sql 包

oracle pl/sql 包

时间:2021-07-01 10:21:17 帮助过:4人阅读

CREATE OR REPLACE PACKAGE BODY SP_PACKAGE IS
--存储过程
PROCEDURE UPDATE_SAL(NAME VARCHAR2, NEWSAL NUMBER) IS
BEGIN
UPDATE EMP SET SAL = NEWSAL WHERE ENAME = NAME;
COMMIT;
END;

--函数
FUNCTION ANNUAL_INCOME(NAME VARCHAR2) RETURN NUMBER IS
ANNUAL_SALARY NUMBER;
BEGIN
SELECT SAL * 12 + NVL(COMM, 0) INTO ANNUAL_SALARY FROM EMP WHERE ENAME = NAME;
RETURN ANNUAL_SALARY;
END;
END;
/
技术分享

    

3)、如何调用包的过程或是函数
当调用包的过程或是函数时,在过程和函数前需要带有包名,如果要访问其它方案的包,还需要在包名前加方案名。如:

--调用存储过程
SQL> exec sp_package.update_sal(‘SCOTT‘, 8888);
--调用函数
var income NUMBER;
CALL sp_package.ANNUAL_INCOME(‘SCOTT‘) INTO:income;
print income;

参见:http://www.cnblogs.com/linjiqin/archive/2012/02/24/2367167.html

oracle pl/sql 包

标签:方案   src   www   begin   分享   过程   date   arc   复制   

人气教程排行