dynvar.tst

来自「OReilly Oracle PL SQL Programming第4版源代码」· TST 代码 · 共 33 行

TST
33
字号
CREATE OR REPLACE PACKAGE tstvar
IS
   str1   VARCHAR2 (2000);
   str2   VARCHAR2 (2000);
END;
/

DECLARE
   v_pkgname   CHAR (7)       := 'tstvar.';
   localstr    VARCHAR2 (100);
BEGIN
   dynvar.notrc;
   dynvar.assign ('abc', localstr);
   DBMS_OUTPUT.put_line ('local string SET TO ' || localstr);
   
   dynvar.copyto ('abcdefghi', v_pkgname || 'str1');
   DBMS_OUTPUT.put_line ('global string SET TO ' || tstvar.str1);
   
   DBMS_OUTPUT.put_line (   'value retrieved dynamically '
                         || dynvar.val (v_pkgname || 'str1')
                        );
						
   tstvar.str2 := 'tstvar.str1';
   
   DBMS_OUTPUT.put_line (   'DOUBLE indirection gets us '
                         || dynvar.val (dynvar.val (v_pkgname || 'str2'))
                        );
						
   DBMS_OUTPUT.put_line (   'expression retrieved dynamically '
                         || dynvar.val (v_pkgname || 'str1' || '|| '' wow!''')
                        );
END;
/

⌨️ 快捷键说明

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