当前位置: 首页 > 知识库问答 >
问题:

Oracle ODBC定义变量[Oracle][ODBC][Ora]Ora-00900:无效的SQL语句

陶文林
2023-03-14

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

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

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

从ODBC日志:

退出SQLExecDirectW,返回代码为-1(SQL_错误)“define val='Test';\a从Name='Test'所在的表中选择*

共有1个答案

巫马阳飙
2023-03-14

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;

祝你好运。

 类似资料:
  • 我试图使用和子句以及子查询来删除另一个表上的查询所给出的行,该表与我要删除的表是1比1,但Oracle 11g2向我抛出了一个完全没有帮助的ORA-00900错误,如下面的SQL fiddle: http://sqlfiddle.com/#!4/93171/1 对于那些无法使用SQLFIDLE的用户,我使用的模式/初始负载是(我使用而不是来实现测试可移植性,“野生”数据使用): 我想说的是: (自

  • 当我从我之前的文章“使用Oracle将三个表与PIVOT结合起来”中的代码,并在SQL开发人员中点击“运行脚本”时,一切都非常完美,但是当我试图从PHP文件中执行相同的脚本时,我得到了“ORA-00900无效的SQL语句”-错误。SQL开发人员“运行语句”也无法执行代码。我的代码似乎不在“SQL语句”语法中? 用于将sql脚本放入变量的PHP代码: 然后我将$sql变量传递给函数以获得结果: 那么

  • 从jdbcTemplate执行以下查询时遇到异常 以下是例外 org.springframework.jdbc.UncategorizedSQLException:PreparedStatementCallback;SQL的未分类SQLException[update TEMP_BRD_STATS SET STATS=null,其中BRDC_STAT_ID=?];SQL状态[null];错误代码[

  • 我正在尝试创建一个与DAO.sql链接的DAO接口。stg字符串模板文件。查询非常简单,只需按id选择。 MyDao.groovy: MyDao.sql.stg: 我的后端数据库是甲骨文。我在甲骨文SQLDeveloper中尝试过这个查询,它工作得很好,但是当我使用应用程序和sql.stg文件运行查询时,它会给我: 我怀疑它不知怎么找不到sql。stg文件,即使我在POM中包含了资源目录。 如何让

  • ORA-01722:无效号码 ORA-02063:来自db的前一行 如果将查询中的更改为: (不起作用) (不起作用) (不起作用) 我不明白为什么查询在Oracle SQL Developer中运行得很好,但却不能在没有任何错误的情况下运行。如有任何帮助,我们将不胜感激。

  • 我已使用以下代码创建了一个Oracle SP。如果我从SQLDeveloper执行它,那么它运行时不会出现任何错误/问题。但是,当我尝试从.NET代码调用同一SP时,将引发一个异常,并显示消息“Oracle.DataAccess.Client.OracleException:ORA-00900:invalid SQL statement”。 Oracle SP代码: 我的VB.NET代码: 有什么