⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 invdefinv.sql

📁 OReilly Oracle PL SQL Programming第4版源代码
💻 SQL
字号:
CREATE OR REPLACE PROCEDURE showestack
IS
BEGIN
   p.l (RPAD ('=', 60, '='));
   p.l (DBMS_UTILITY.format_call_stack);
   p.l (RPAD ('=', 60, '='));
END;
/
CREATE OR REPLACE PROCEDURE Proc1
AUTHID CURRENT_USER
IS
   num   PLS_INTEGER;
BEGIN
   SELECT COUNT (*)        
     INTO num
     FROM EMP;
   showestack;
   DBMS_OUTPUT.put_line (   'proc 1 invoker emp count '
                         || num);
END;
/
GRANT EXECUTE ON Proc1 TO demo;

CREATE OR REPLACE PROCEDURE Proc2
AUTHID DEFINER
IS
   num   PLS_INTEGER;
BEGIN
   SELECT COUNT (*)
     INTO num
     FROM EMP;
   showestack;
   DBMS_OUTPUT.put_line (   'proc 2 definer emp count '
                         || num);
   Proc1;
END;
/
GRANT EXECUTE ON Proc2 TO demo;

CREATE OR REPLACE PROCEDURE Proc3
AUTHID CURRENT_USER
IS
   num   PLS_INTEGER;
BEGIN
   SELECT COUNT (*)
     INTO num
     FROM EMP;
   showestack;
   DBMS_OUTPUT.put_line (   'proc 3 invoker emp count '
                         || num);
   Proc2;
END;
/

GRANT EXECUTE ON Proc3 TO demo;


/*======================================================================
| Supplement to the third edition of Oracle PL/SQL Programming by Steven
| Feuerstein with Bill Pribyl, Copyright (c) 1997-2002 O'Reilly &
| Associates, Inc. To submit corrections or find more code samples visit
| http://www.oreilly.com/catalog/oraclep3/
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -