--创建包规范
CREATE OR REPLACE PACKAGE SHENG
IS
FUNCTION f( v_empno emp.empno%type) RETURN emp.ename%type;
PROCEDURE p(v_deptno emp2.deptno%type);
END SHENG;
--创建包体
CREATE OR REPLACE PACKAGE BODY SHENG AS
CREATE OR REPLACE FUNCTION f(v_empno emp.empno%type)
RETURN emp.ename%type;
AS
v_ename emp.ename%type;
BEGIN
SELECT b.ename INTO v_ename FROM emp a
LEFT JOIN emp b ON a.mgr = b.empno
WHERE a.empno = v_empno;
RETURN v_ename;
END f;
CREATE OR REPLACE PROCEDURE p
(v_deptno emp2.deptno%type)
as
CURSOR c IS
SELECT * FROM emp2 WHERE deptno = v_deptno FOR UPDATE;
BEGIN
FOR v_emp IN c LOOP
UPDATE emp2 SET sal = sal + 100 WHERE CURRENT OF c;
END LOOP;
COMMIT;
END p;
END SHENG;
警告: 创建的包体带有编译错误。SQL> show errors;
PACKAGE BODY SHENG 出现错误:LINE/COL ERROR
-------- -----------------------------------------------------------------
2/5 PLS-00103: 出现符号 "CREATE"在需要下列之一时:
begin end
function package pragma procedure subtype type use
<an identifier> <a double-quoted delimited-identifier> form
current cursorSQL> 麻烦能帮我看看吗.?谢谢哦!
CREATE OR REPLACE PACKAGE SHENG
IS
FUNCTION f( v_empno emp.empno%type) RETURN emp.ename%type;
PROCEDURE p(v_deptno emp2.deptno%type);
END SHENG;
--创建包体
CREATE OR REPLACE PACKAGE BODY SHENG AS
CREATE OR REPLACE FUNCTION f(v_empno emp.empno%type)
RETURN emp.ename%type;
AS
v_ename emp.ename%type;
BEGIN
SELECT b.ename INTO v_ename FROM emp a
LEFT JOIN emp b ON a.mgr = b.empno
WHERE a.empno = v_empno;
RETURN v_ename;
END f;
CREATE OR REPLACE PROCEDURE p
(v_deptno emp2.deptno%type)
as
CURSOR c IS
SELECT * FROM emp2 WHERE deptno = v_deptno FOR UPDATE;
BEGIN
FOR v_emp IN c LOOP
UPDATE emp2 SET sal = sal + 100 WHERE CURRENT OF c;
END LOOP;
COMMIT;
END p;
END SHENG;
警告: 创建的包体带有编译错误。SQL> show errors;
PACKAGE BODY SHENG 出现错误:LINE/COL ERROR
-------- -----------------------------------------------------------------
2/5 PLS-00103: 出现符号 "CREATE"在需要下列之一时:
begin end
function package pragma procedure subtype type use
<an identifier> <a double-quoted delimited-identifier> form
current cursorSQL> 麻烦能帮我看看吗.?谢谢哦!
CREATE OR REPLACE 去掉
CREATE OR REPLACE PROCEDURE p =>PROCEDURE p包体里怎么会有CREATE OR REPLACE语句