【问题标题】:& IN WHERE CLAUSE of oracle [closed]& IN WHERE CLAUSE of oracle [关闭]
【发布时间】:2011-11-21 01:52:56
【问题描述】:

我在 SQL 开发人员 IDE 上运行了 SQL 查询:

SELECT IC.ID 
FROM INSTITUTE_COURSE IC 
WHERE IC.NAME = 'CIVIL & ARCHITECTURE CAD';

由于where子句中有&,ide返回错误"Enter Substitution Variable".

如果我删除字符串中的&,查询运行正常。

我的问题是如何在 where 子句中使用 &/&/& 来运行查询?

【问题讨论】:

标签: sql oracle sqlplus


【解决方案1】:

在执行查询之前执行命令SET DEFINE OFF

【讨论】:

  • 实际上,当 OP 问题被标记为“sqlplus”时,这个答案更容易理解
  • @Benoit -- 不确定你的意思。该命令也适用于 SQL Developer(我在发布之前对其进行了测试)。
  • SQL Developer 是一个符合 SQL*Plus 语法的工具,并且脚本可移植。但是,如果您使用 C++ 编程或使用 Tora 或其他 oracle 客户端,则 SQL 查询中的“&”是正确的。
【解决方案2】:

除了 Dave Costa 的回答,以下是手册的相关部分:

替换变量:
http://download.oracle.com/docs/cd/B28359_01/server.111/b31189/ch5.htm#CACIFHGB

SET DEFINE OFF 命令:
http://download.oracle.com/docs/cd/B28359_01/server.111/b31189/ch8.htm#sthref929

【讨论】:

  • 仅供参考,这些链接专门针对 SQLPlus,但在这种情况下,这些信息也适用于 SQL Developer。
  • @Dave:好点。但随后 SQL Developer 手册仅提及“支持的 SQLPlus 命令”但没有解释它们,因此显然它们与 SQLPlus 中的工作方式相同
猜你喜欢
  • 2020-09-13
  • 2022-12-27
  • 2021-04-19
  • 1970-01-01
  • 1970-01-01
  • 2022-01-21
  • 1970-01-01
  • 2018-10-16
  • 2023-04-08
相关资源
最近更新 更多