如何避免 Oracle SQL Developer 中的变量替换
当我尝试在 Oracle SQL Developer 2.1 中执行此语句时,会弹出一个对话框“输入替换变量”,要求输入 TOBAGO 的替换值,
update t set country = 'Trinidad and Tobago' where country = 'trinidad & tobago';
如何避免这种情况而不发生这种情况?求助于 chr(38)
或 u'trinidad \0026 tobago'
这两者都掩盖了该语句的目的?
When I try to execute this statement in Oracle SQL Developer 2.1 a dialog box "Enter Substitution Variable" pops up asking for a replacement value for TOBAGO,
update t set country = 'Trinidad and Tobago' where country = 'trinidad & tobago';
How can I avoid this without resorting to chr(38)
or u'trinidad \0026 tobago'
which both obscure the purpose of the statement?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
在查询之前调用它:
或者,hacky:
来自 调整 SQL*Plus :
Call this before the query:
Alternatively, hacky:
From Tuning SQL*Plus:
在 SQL*Plus 中,将
SET DEFINE ?
放在脚本顶部通常可以解决此问题。可能也适用于 Oracle SQL Developer。In SQL*Plus putting
SET DEFINE ?
at the top of the script will normally solve this. Might work for Oracle SQL Developer as well.这将按照您的要求工作,无需 CHAR(38):
this will work as you asked without CHAR(38):
如果使用liquibase运行sql文件,不会报错。但对于 sql 开发人员来说,请在 sql sode 之前使用此
set Define off;
If you use liquibase to run sql file, it will not give error. But for sql developer use this
set define off;
before ur sql sode设置扫描关闭;
上面的命令也有效。
set scan off;
Above command also works.