【问题标题】:Oracle ODBC define variable [Oracle][ODBC][Ora]ORA-00900: invalid SQL statementOracle ODBC 定义变量 [Oracle][ODBC][Ora]ORA-00900:无效的 SQL 语句
【发布时间】:2019-03-30 15:47:33
【问题描述】:

我正在使用 Oracle ODBC 驱动程序并希望动态传递变量。这就是我的查询的样子:

define val = 'Test';
select * from Table where Name = '&val'

虽然此查询在 Oracle SQL Developer 中运行良好,但我认为我没有为 ODBC 驱动程序编写正确执行的查询。有什么建议吗?

来自 ODBC 日志:

退出 SQLExecDirectW 并返回代码 -1 (SQL_ERROR) "define val = 'Test';\ aselect * from Table where Name = '&val';\ 0" DIAG [42000] [Oracle][ODBC][Ora]ORA-00900: SQL 语句无效

【问题讨论】:

    标签: oracle odbc


    【解决方案1】:

    DEFINE 在 SQLPlus 和 SQLDeveloper 中有效,但不是有效的 PL/SQL 语句。

    在 PL/SQL 中你会做类似的事情

    DECLARE
      val   VARCHAR2(25) := 'Test';
      aRow  SOME_TABLE%ROWTYPE;
    BEGIN
      SELECT *
        INTO aRow
        FROM SOME_TABLE
        WHERE NAME = val;
    END;
    

    祝你好运。

    【讨论】:

      猜你喜欢
      • 2017-05-12
      • 1970-01-01
      • 2013-06-07
      • 2010-12-29
      • 2011-07-17
      • 1970-01-01
      • 2019-08-30
      • 2019-10-17
      • 1970-01-01
      相关资源
      最近更新 更多