次のように使用して、見つかったインデックスを使用して一時テーブルを作成するストアドプロシージャがありますCONTAINSTABLE
(ストアドプロシージャコードの一部を配置します)。
CREATE TABLE #tmpTable(
ID INT,
RANK INT)
SELECT @query = '
SELECT
DISTINCT ID AS T_ID,
indexTable.RANK AS RANK
FROM
MyTable
INNER JOIN
CONTAINSTABLE(MyTable, (*), "ISABOUT('example*')") AS indexTable
ON
MyTable.ID = indexTable.[KEY]
ORDER BY RANK DESC'
可能であれば、一時テーブルを別のストアドプロシージャに使用して、その値を他の目的に使用し、同じことを2回行わないようにします。
不可能な場合は、別のストアドプロシージャでテーブルデータを再利用するための最良の方法を教えてください。また、ストアドプロシージャ内にビューを作成できないことを知っているので、ビューは議論の余地がありません。