gpt4 book ai didi

oracle - SQLplus解码执行脚本

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:11:08 25 4
gpt4 key购买 nike

我正在编写要在 sqlplus 11 中运行的脚本。我有一个名为压缩的用户定义变量。如果这是真的,那么我想运行脚本 CreateTablesCompression,否则运行。我有以下内容:

decode(compression,'true',@@CreateTablesCompression,@@CreateTables);

但是,当我运行它时,我会抛出错误:未知命令开始“解码...”

我是不是漏掉了什么,我不明白为什么 SQLPlus 不能识别解码?

最佳答案

Decode 不是 SQL*PLUS 命令,您不能仅在 pl/sql block 或查询中直接在 sql*plus 中使用它。因此,这是一个如何完成条件分支的示例:我们声明了一个变量 flag 来控制运行两个可用脚本中的哪一个。

SQL> variable flag varchar2(7);
SQL> exec :flag := 'true';

PL/SQL procedure successfully completed.

SQL> column our_script new_value script noprint;
SQL> select decode(:flag, 'true',
2 'c:\sqlplus\script1.sql',
3 'c:\sqlplus\script2.sql'
4 ) our_script
5 from dual;




SQL> @&script;

SCRIPT
--------
script_1

关于oracle - SQLplus解码执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13348269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com