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

📄 showjava.sp

📁 OReilly Oracle PL SQL Programming第4版源代码
💻 SP
字号:
CREATE OR REPLACE PROCEDURE show_java_source (
   NAME     IN   VARCHAR2,
   SCHEMA   IN   VARCHAR2 := NULL
)
/*
||  Overview: Shows Java source (prototype)
||
||  Author: Vadim Loevski
*/
IS 
   b                      CLOB;
   v                      VARCHAR2 (2000);
   i                      INTEGER;
   object_not_available   EXCEPTION;
   PRAGMA EXCEPTION_INIT (object_not_available, -29532);

   PROCEDURE pl (
      str         IN   VARCHAR2,
      len         IN   INTEGER := 80,
      expand_in   IN   BOOLEAN := TRUE
   )
   IS 
      v_len   PLS_INTEGER     := LEAST (len, 255);
      v_str   VARCHAR2 (2000);
   BEGIN
      IF LENGTH (str) > v_len
      THEN
         v_str := SUBSTR (str, 1, v_len);
         DBMS_OUTPUT.put_line (v_str);
         pl (SUBSTR (str, len + 1), v_len, expand_in);
      ELSE
         v_str := str;
         DBMS_OUTPUT.put_line (v_str);
      END IF;
   EXCEPTION
      WHEN OTHERS
      THEN
         IF expand_in
         THEN
            DBMS_OUTPUT.ENABLE (1000000);
            DBMS_OUTPUT.put_line (v_str);
         ELSE
            RAISE;
         END IF;
   END;
BEGIN
   /* Move the Java source code to a CLOB. */
   DBMS_LOB.createtemporary (b, FALSE );
   dbms_java.export_source (NAME, NVL (SCHEMA, USER), b);
   /* Read the CLOB to a VARCHAR2 variable and display it. */
   i := 1000;
   DBMS_LOB.READ (b, i, 1, v);
   pl (v);
EXCEPTION
   WHEN object_not_available
   THEN
      IF (SQLERRM) LIKE '%no such%object'
      THEN
         DBMS_OUTPUT.put_line ('Java object cannot be found.');
      END IF;
END;
/

CREATE OR REPLACE JAVA  source named "Hello"
as
   public class hello {
      public static string hello() {
         return "hello oracle world";   
         }
      }
 ;
/

BEGIN
   show_java_source ('Hello');
END;
/

BEGIN
   show_java_source ('Hello-NOT');
END;
/

/*======================================================================
| 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 + -