如何避免在 Oracle SQL Developer 中使用 'trinidad & 进行变量替换多巴哥'

2021-12-05 00:00:00 oracle oracle-sqldeveloper

当我尝试在 Oracle SQL Developer 2.1 中执行此语句时,会弹出一个对话框输入替换变量",要求为 TOBAGO 提供替换值,

update t set country = 'Trinidad and Tobago' where country = 'trinidad &多巴哥';

如果不求助于 chr(38)u'trinidad 026 tobago' 两者都掩盖了语句的目的,我该如何避免这种情况?

解决方案

在查询前调用:

set 定义关闭;

或者,hacky:

update t set country = 'Trinidad and Tobago' where country = 'trinidad &'||'多巴哥';

<小时>

来自调整 SQL*Plus:><块引用>

SET DEFINE OFF 禁用解析命令以替换替换变量及其值.

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 026 tobago' which both obscure the purpose of the statement?

解决方案

Call this before the query:

set define off;

Alternatively, hacky:

update t set country = 'Trinidad and Tobago' where country = 'trinidad &' || ' tobago';


From Tuning SQL*Plus:

SET DEFINE OFF disables the parsing of commands to replace substitution variables with their values.

相关文章