Select游标查询
Select cursor query
我期待此查询的结果
select cursor (select *
from Dba_Source
where Owner = 'ORD'
and Upper(Text) Like ob)
from (select '''%' || object_name || '%''' ob
from dba_objects
where owner = 'ORD'
and object_name = 'ORD_USERS');
由于 ORD
架构中的一个存储过程使用了 table ORD_USERS
。
谁能告诉我怎么了?
当我 运行 这些单独查询时,它们返回的结果类似于
select '''%' || object_name || '%''' ob
from dba_objects
where owner = 'ORD' and object_name = 'ORD_USERS';
'%ORD_USERS%'
select *
from Dba_Source
where Owner = 'ORD'
and Upper(Text) like '%ORD_USERS%';
Owner Name Type Line Text
----- -------- ------------- ----- ---------------
ORD ORD_PKG PACKAGE_BODY 126 FROM ORD_USERS,
希望以下示例能够为您演示问题和解决方案:
with sample_data as (select 'fredbobgeorge' str from dual union all
select '''fredbobgeorge''' str from dual)
select 'with quoted like' search_type,
str
from sample_data
where str like (select '''%bob%''' from dual)
union all
select 'without quoted like' search_type,
str
from sample_data
where str like (select '%bob%' from dual);
SEARCH_TYPE STR
------------------- ---------------
with quoted like 'fredbobgeorge'
without quoted like fredbobgeorge
without quoted like 'fredbobgeorge'
我期待此查询的结果
select cursor (select *
from Dba_Source
where Owner = 'ORD'
and Upper(Text) Like ob)
from (select '''%' || object_name || '%''' ob
from dba_objects
where owner = 'ORD'
and object_name = 'ORD_USERS');
由于 ORD
架构中的一个存储过程使用了 table ORD_USERS
。
谁能告诉我怎么了?
当我 运行 这些单独查询时,它们返回的结果类似于
select '''%' || object_name || '%''' ob
from dba_objects
where owner = 'ORD' and object_name = 'ORD_USERS';
'%ORD_USERS%'
select *
from Dba_Source
where Owner = 'ORD'
and Upper(Text) like '%ORD_USERS%';
Owner Name Type Line Text
----- -------- ------------- ----- ---------------
ORD ORD_PKG PACKAGE_BODY 126 FROM ORD_USERS,
希望以下示例能够为您演示问题和解决方案:
with sample_data as (select 'fredbobgeorge' str from dual union all
select '''fredbobgeorge''' str from dual)
select 'with quoted like' search_type,
str
from sample_data
where str like (select '''%bob%''' from dual)
union all
select 'without quoted like' search_type,
str
from sample_data
where str like (select '%bob%' from dual);
SEARCH_TYPE STR
------------------- ---------------
with quoted like 'fredbobgeorge'
without quoted like fredbobgeorge
without quoted like 'fredbobgeorge'