【问题标题】:Difference between 'USING' and || in PL SQL“使用”和 || 之间的区别在 PL SQL 中
【发布时间】:2017-11-16 11:38:45
【问题描述】:

我只需要在 PL/SQL 代码中运行一个基本的 SELECT 查询。以下代码运行良好:

BEGIN
EXECUTE IMMEDIATE 'SELECT * FROM ' || 'TNAME';
END;
/

但是下面的代码

BEGIN
EXECUTE IMMEDIATE 'SELECT * FROM :1' USING 'TNAME';
END;
/

给出错误提示

ORA-00903: 无效的表名

ORA-06512:在第 2 行

  1. 00000 - “无效的表名”

*原因:
*行动:

我不能以任何方式使用“USING”传递表名吗?

【问题讨论】:

    标签: oracle plsql oracle-sqldeveloper oracle12c


    【解决方案1】:

    正如 Oracle 文档所述:

    "您只能在可以替换的地方使用占位符 SQL 语句中的变量,例如 WHERE 中的条件测试 条款。模式对象的名称不能使用占位符。 正确方式见“Passing Schema Object Names As Parameters.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-23
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 2011-11-12
      • 2011-07-22
      • 2020-12-25
      相关资源
      最近更新 更多