sql10

发布: (2025年12月12日 GMT+8 03:47)
1 分钟阅读
原文: Dev.to

Source: Dev.to

设置

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;

条件函数创建

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;
/

判断是否描述 func2

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

func2 的描述(仅当标志为 Y 时)

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

相关文章

阅读更多 »

blob1

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

JavaScript 中的函数

什么是函数?函数是一段用于执行特定任务的代码块。只有在被调用时才会运行。javascript function add { console.log'He...

第2天:SQL

数据库结构、数据类型与表基础 1. 数据库结构回顾 关系型数据库包含: - Database - Tables - Rows - Records - Columns - Fields E...

第2天:Python 编程

数据库结构、数据类型与表基础 1. 数据库结构回顾 关系型数据库包含: - 数据库 - 表 - 行(记录) - 列(字段) E...