2011-07-30 2 views
5

PL/SQL을 처음 사용하고 기존 패키지에 새 저장 프로 시저를 만들려고합니다. "Create or Replace Pumpage BODY"가 있다는 것을 알았지 만 새로운 프로 시저를 추가하면 전체 본문이 삭제된다는 의미입니까 아니면 그냥 추가 할 것입니까? (내 proc 이름은 현재 procs와 같은 이름이 아닙니다).기존 패키지에 새 저장 프로 시저를 만드는 방법

감사합니다.

답변

9

불행히도 기존 패키지에 새 procudure 또는 기능을 추가하려면 원래 패키지를 수정하고 작성 또는 바꾸기로 다시 제출해야합니다.

현재 전체 패키지 코드를 수정하고 다시 제출하지 않고 패키지에 추가하거나 제거하는 방법은 없습니다.

http://forums.oracle.com/forums/thread.jspa?threadID=380898

1
CREATE OR REPLACE PACKAGE emp_actions AS -- spec 
TYPE EmpRecTyp IS RECORD (emp_id INT, salary REAL); 
CURSOR desc_salary RETURN EmpRecTyp; 
PROCEDURE hire_employee (
    ename VARCHAR2, 
    job VARCHAR2, 
    mgr NUMBER, 
    sal NUMBER, 
    comm NUMBER, 
    deptno NUMBER); 
PROCEDURE fire_employee (emp_id NUMBER); 
END emp_actions; 

CREATE OR REPLACE PACKAGE BODY emp_actions AS -- body 
CURSOR desc_salary RETURN EmpRecTyp IS 
    SELECT empno, sal FROM emp ORDER BY sal DESC; 
PROCEDURE hire_employee (
    ename VARCHAR2, 
    job VARCHAR2, 
    mgr NUMBER, 
    sal NUMBER, 
    comm NUMBER, 
    deptno NUMBER) IS 
BEGIN 
    INSERT INTO emp VALUES (empno_seq.NEXTVAL, ename, job, 
    mgr, SYSDATE, sal, comm, deptno); 
END hire_employee; 

PROCEDURE fire_employee (emp_id NUMBER) IS 
BEGIN 
    DELETE FROM emp WHERE empno = emp_id; 
END fire_employee; 
END emp_actions; 

내가 먼저 그 형태와 기능을 정의하고 나중에 패키지에 포함되어야하는 하나 개 이상의 기능의 전신 물품. 모든 것이 잘 작동해야합니다.

관련 문제