【问题标题】:In pl/sql how can I execute a select statement stored in CLOB type of field?在 pl/sql 中,如何执行存储在 CLOB 类型字段中的选择语句?
【发布时间】:2015-02-05 14:06:34
【问题描述】:

在 Oracle DB 中,我有一个大型的选择状态,其中包含许多连接和案例,这些连接和案例存储在我的一个表的 CLOB 字段中。 如何从 CLOB 执行这条语句?

【问题讨论】:

    标签: plsql clob


    【解决方案1】:

    查看EXECUTE IMMEDIATE 语法。
    示例表:

    CREATE TABLE test(id number, largedata clob);
    INSERT INTO test VALUES (1, 'select name from v$database'); 
    commit;
    select * from test;
    

    DECLARE
    l_sql clob;
    l_result VARCHAR2(50);
    BEGIN
      SELECT LARGEDATA INTO l_sql FROM TEST;
      EXECUTE IMMEDIATE l_sql INTO l_result;
      dbms_output.put_line(l_result);
    END;
    /
    

    输出是数据库名称。

    【讨论】:

    • 提示:你必须有至少 11g 的 clob 并立即执行。
    • 比较:10g:它必须是 CHAR 或 VARCHAR2 类型,而不是 NCHAR 或 NVARCHAR2。 11g:它的类型必须是 CHAR、VARCHAR2 或 CLOB。
    • 明白了。我真的以为你在建议execute immediate 和`CLOB 在10g 中不存在。 :)
    猜你喜欢
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 2020-12-12
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    相关资源
    最近更新 更多