sql10

Published: (December 11, 2025 at 02:47 PM EST)
1 min read
Source: Dev.to

Source: Dev.to

Setup

SET VERIFY OFF FEEDBACK OFF HEADING OFF ECHO ON
SET SERVEROUTPUT ON

-- Capture argument or default to empty string (no prompt)
COLUMN p_flag_col NEW_VALUE p_flag
SELECT NVL('&1','') AS p_flag_col FROM dual;

Conditional Function Creation

BEGIN
  IF UPPER('&p_flag') = 'Y' THEN
    DBMS_OUTPUT.PUT_LINE('Flag is Y — creating functions...');

    EXECUTE IMMEDIATE '
      CREATE OR REPLACE FUNCTION func1 RETURN VARCHAR2 IS
      BEGIN
        RETURN ''Func1'';
      END;';

    EXECUTE IMMEDIATE '
      CREATE OR REPLACE FUNCTION func2 RETURN VARCHAR2 IS
      BEGIN
        RETURN ''Func2'';
      END;';

    EXECUTE IMMEDIATE '
      CREATE OR REPLACE FUNCTION func3 RETURN VARCHAR2 IS
      BEGIN
        RETURN ''Func3'';
      END;';

    EXECUTE IMMEDIATE '
      CREATE OR REPLACE FUNCTION func4 RETURN VARCHAR2 IS
      BEGIN
        RETURN ''Func4'';
      END;';

    EXECUTE IMMEDIATE '
      CREATE OR REPLACE FUNCTION func5 RETURN VARCHAR2 IS
      BEGIN
        RETURN ''Func5'';
      END;';

    DBMS_OUTPUT.PUT_LINE('All requested functions created successfully.');
  ELSE
    DBMS_OUTPUT.PUT_LINE('Flag is not Y — skipping function creation.');
  END IF;
END;
/

Determine Whether to Describe func2

COLUMN dummy NEW_VALUE dummy
SELECT CASE WHEN UPPER('&p_flag') = 'Y' THEN 1 ELSE 0 END AS dummy FROM dual;

Description of func2 (only if flag = Y)

PROMPT
PROMPT Description of func2 (only if flag is Y):
PROMPT --------------------------------------
DESC func2
Back to Blog

Related posts

Read more »

Oracle Merge Into

!Forem Logohttps://media2.dev.to/dynamic/image/width=65,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%...

blob1

sql WITH VersionsToAscii AS SELECT t.INTERNIDENTITY, t.INTERNINSTID, t.INTERNVERSION, t.INTERNTIMESTAMP, t.IOIID, RTRIM XMLAGG XMLELEMENTE, c.chunk_content ORDE...