我正在使用Oracle Data Integrator开发一些ETL,有时还会用TOAD测试我的部分代码。今天我遇到了一个问题,我有一句台词
AND column_value like('DEV&PROD')当我尝试运行上面包含过滤器的SQL时,TOAD询问PROD的值,它认为PROD是一个绑定或替代变量。在TOAD设置中是否有任何选项可启用此功能。我将绑定变量与一个列(:)一起使用,并且我的数据包括&所以我需要使用它。
这段代码在ODI中工作得很好,我只需要一个用于TOAD的解决方案。提前谢谢。
发布于 2013-02-25 20:11:26
1)使用set define off;启动脚本(并使用F5 key运行整个脚本)
或
2)使用'DEV&'||'PROD'而不是'DEV&PROD'
或
3)为变量设置另一个前缀符号
set define ~;
select 'drag&drop', ~column_name from ~table_name;(系统将提示您输入column_name和table_name,但不会提示您输入“drop”)
发布于 2013-02-26 01:37:58
此外-将在任何工具或SQL提示符中工作:
SELECT ('DEV'||'&'||'PROD') val FROM dual
/
-- Q-quote operator introduced in Oracle 10g --
SELECT 'DEV' || q'[&]'||'PROD' AS val FROM dual
/使用Egor的或我的示例-复制/粘贴,输入1作为:bind_var:
SELECT 'DEV&'||'PROD' val FROM dual
WHERE :bind_var = 1
/https://stackoverflow.com/questions/15066558
复制相似问题