oracle筑包ORA-06550: line 1, column 7: PLS-00905: object SCOTT.SP_PACKAGE1 is inva
2013-12-09
oracle建包ORA-06550: line 1, column 7: PLS-00905: object SCOTT.SP_PACKAGE1 is inva兄弟你看下这个对
oracle建包ORA-06550: line 1, column 7: PLS-00905: object SCOTT.SP_PACKAGE1 is inva
兄弟你看下这个对不对
--创建一个包(SP_PACKAGE1):包括包头和包体,名字均为包名 --创建一个包头:SP_PACKAGE1 --该包体申明有一个存储过程:UPDATESALBYNO(根据empno修改该雇员的sal) --该包体申明有一个函数:ANNUA_INCOME(根据ename查询该雇员的年薪) CREATE OR REPLACE PACKAGE SP_PACKAGE1 IS PROCEDURE UPDATESALBYNO(NEWSALARY NUMBER,EMPNUBER NUMBER); FUNCTION ANNUA_INCOME(NAME VARCHAR2) RETURN NUMBER; END;
--创建包体,即定义好在包头中申明的存储过程以及函数 CREATE OR REPLACE PACKAGE BODY SP_PACKAGE1 IS PROCEDURE UPDATESALBYNO(NEWSALARY NUMBER,EMPNUBER NUMBER) IS BEGIN UPDATE EMP SET SAL = NEWSALARY WHERE EMPNO = EMPNUBER; END; FUNCTION ANNUA_INCOME(NAME VARCHAR2) RETURN NUMBER IS ANNUA_SAL NUMBER; BEGIN SELECT SAL*12+NVL(COMM,0) INTO ANNUA_SAL FROM EMP WHERE ENAME = NAME; RETURN ANNUA_SAL; END; END;