SQL> connect / as sysdba
연결되었습니다.
SQL> 
SQL> drop user blake cascade;

사용자가 삭제되었습니다.

SQL> 
SQL> create user blake identified by ok default tablespace woongs;

사용자가 생성되었습니다.

SQL> 
SQL> grant connect to blake;

권한이 부여되었습니다.

SQL> 
SQL> connect scott/ok
연결되었습니다.
SQL> 
SQL> delete from dept where deptno < 10;

2 행이 삭제되었습니다.

SQL> 
SQL> commit;

커밋이 완료되었습니다.

SQL> 
SQL> drop procedure create_dept;

프로시저가 삭제되었습니다.

SQL> 
SQL> CREATE PROCEDURE create_dept (
  2  my_deptno NUMBER,
  3  my_dname VARCHAR2,
  4  my_loc VARCHAR2) -- 디폴트값 AUTHID DEFINER (정의자권한)
  5  AS
  6  BEGIN
  7  INSERT INTO dept VALUES (my_deptno, my_dname, my_loc);
  8  END;
  9  /

프로시저가 생성되었습니다.

SQL> 
SQL> grant execute on create_dept to blake;

권한이 부여되었습니다.

SQL> 
SQL> connect blake/ok
연결되었습니다.
SQL> 
SQL> exec scott.create_dept(1,'definder-right','blake');

PL/SQL 처리가 정상적으로 완료되었습니다.

SQL> 
SQL> 
SQL> --\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
SQL> 
SQL> connect / as sysdba
연결되었습니다.
SQL> 
SQL> drop user blake1 cascade;

사용자가 삭제되었습니다.

SQL> 
SQL> create user blake1 identified by ok default tablespace woongs;

사용자가 생성되었습니다.

SQL> 
SQL> grant connect, resource to blake1;

권한이 부여되었습니다.

SQL> 
SQL> connect scott/ok
연결되었습니다.
SQL> 
SQL> drop procedure create_dept1;

프로시저가 삭제되었습니다.

SQL> 
SQL> CREATE PROCEDURE create_dept1 (
  2  my_deptno NUMBER,
  3  my_dname VARCHAR2,
  4  my_loc VARCHAR2) AUTHID CURRENT_USER --호출자권한
  5  AS
  6  BEGIN
  7  INSERT INTO dept VALUES (my_deptno, my_dname, my_loc);
  8  END;
  9  /

프로시저가 생성되었습니다.

SQL> 
SQL> grant execute on create_dept1 to blake1;

권한이 부여되었습니다.

SQL> 
SQL> connect blake1/ok
연결되었습니다.
SQL> 
SQL> exec scott.create_dept1(2,'definder-right','blake');
BEGIN scott.create_dept1(2,'definder-right','blake'); END;

*
1행에 오류:
ORA-00942: 테이블 또는 뷰가 존재하지 않습니다
ORA-06512: "SCOTT.CREATE_DEPT1", 줄 7에서
ORA-06512: 줄 1에서 


SQL> 
SQL> create table dept as select * from scott.dept where 1=2;

테이블이 생성되었습니다.

SQL> 
SQL> exec scott.create_dept1(5,'definder-right','blake1');

PL/SQL 처리가 정상적으로 완료되었습니다.

SQL> select * from scott.dept;

    DEPTNO DNAME          LOC
---------- -------------- -------------
         1 definder-right blake
         3 test           test
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON

6 개의 행이 선택되었습니다.

SQL> select * from dept;

    DEPTNO DNAME          LOC
---------- -------------- -------------
         5 definder-right blake1

SQL>