【发布时间】:2013-07-24 08:45:58
【问题描述】:
所以理想情况下,我希望将其保留在查询中,但如果不可能,我想一个包可以工作,因为我没有 webapp 级别可以使用。
我想要做的是,对于 Oracle 数据库,在 where 子句中创建/运行一个查询,这样对于具有一个属性的表中的每一行,所有行都有带有通配符的子字符串存储它添加到contains 的搜索字符串。因为据我所知,您不能真正在查询中执行循环,因此需要一个游标,但我从未使用过游标。这是我正在尝试做的事情的更直观的表示(使用循环逻辑教唆):
表 1
属性:名字
约翰
乔
简
约瑟芬
Table2
属性:子字符串
%se%
%h%i%
通过约束保证总是至少有一行
伪查询
SELECT
table1.firstname
FROM
table1
WHERE CONTAINS(table1.firstname, '"table2.row1"
IF(count(table2.substrings) > 1)
FOR table2.row = 2 TO count(table2.substrings)
(
+ " OR row.substrings"
)
', 1) > 0
(CONTAINS 语法基于Is there a combination of "LIKE" and "IN" in SQL?)
【问题讨论】:
标签: sql string oracle cursor contains