【问题标题】:Taking table name as input in sql在sql中将表名作为输入
【发布时间】:2011-03-25 07:32:59
【问题描述】:

我需要将表名作为用户输入到我的 PL/SQL 脚本中,然后更新该表。我不确定这是否可行,因为 ORACLE 可能无法解析脚本。

请指导我如何解决这个问题。

谢谢。

【问题讨论】:

    标签: oracle plsql


    【解决方案1】:

    使用立即执行。它允许您将 SQL 语句构建为 VARCHAR2 字符串,然后执行该语句。

    例如。

    lStr := 'UPDATE '||table-name||' SET COLUMN-NAME = VALUE';
    
    EXECUTE IMMEDIATE lStr;
    

    COLUMN-NAME 和 VALUE 当然也可以动态更改。

    http://download.oracle.com/docs/cd/B12037_01/appdev.101/b10807/13_elems017.htm

    【讨论】:

    • 查看 DBMS_ASSERT 以验证传入的表名。
    猜你喜欢
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    • 2016-08-13
    • 2020-07-23
    • 1970-01-01
    • 2015-02-23
    • 2018-06-18
    • 2013-11-15
    相关资源
    最近更新 更多