[20260117]使用toad使用&&1参数查询遇到的问题.txt
--//SQL语句如下:
select distinct table_name from dba_tab_cols where table_name like '&1';
--//参数1带入V_$SQL,结果如下:
GV_$SQL_PLAN_MONITOR
V_$SQL_PLAN_MONITOR
V_$SQL_SHARED_CURSOR
.......
GV_$SQL_OPTIMIZER_ENV
GV_$SQL_CS_HISTOGRAM
GV_$SQLTEXT_WITH_NEWLINES
--//输出含有V_$SQL字符串的的table_name,使用toad自带的sqldbmon.exe跟踪发现,执行如下:
select distinct table_name from dba_tab_cols where table_name like '%V_$SQL%';
--//可以发现toad自动给&&1的两边加入%分号。
--//仔细检查在赋值界面value的下面有两个选择:
liternal ,Environment Variable。
--//我的界面选择的是Environment Variable(估计不小心选择该项)。修改为liternal后,现在返回仅仅1个值。
V_$SQL
--//执行如下:
select distinct table_name from dba_tab_cols where table_name like 'V_$SQL';
--//实际上开始我遇到的情况执行语句如下:
select distinct table_name from dba_tab_cols where table_name = '&1';
--//这样在选择Environment Variable的情况下无论如何查询,返回都是空。