我需要搜索大于4000个字符的文本。
这是我尝试执行的选择,而不是在包含中放入很长的字符串:
;WITH cte AS
(
SELECT code
FROM table_a
)
SELECT *
FROM cte
CROSS APPLY
(SELECT *
FROM table_b
WHERE CONTAINS(table_b.field, cte.code)) c
但是这种方法不起作用。
任何帮助将不胜感激。
谢谢
答案 0 :(得分:0)
游标可以解决问题,但是您应该意识到对性能的影响,具体取决于数据。
更多详细信息:使光标遍历table_a。对于每个循环,在代码中设置一个变量。使用该代码作为CONTAINS函数的参数。如果匹配,则将代码和table_b.id的值插入临时表中。在所有循环之后,您将结果保存在临时表中。