代码之家  ›  专栏  ›  技术社区  ›  Vishwanath

PL SQL中“USING”和||之间的差异

  •  0
  • Vishwanath  · 技术社区  · 7 年前

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

    但遵循代码

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

    ORA-06512:2号线

    1. 00000-“无效表名”

    *原因:
    *行动:

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

    1 回复  |  直到 7 年前
        1
  •  8
  •   zur4ik    7 年前

    正如Oracle文档所述:

    “只能在可以替换的位置使用占位符 SQL语句中的变量,例如其中的条件测试 要了解正确的方法,请参阅“ Passing Schema Object Names As Parameters. "