ストアド プロシージャに渡された TSQL パラメータに基づいて、Contains() メソッドを使用してフル テキスト インデックスを検索するクエリを根本的に解決しようとしています。部分的な単語 (ポリシー番号の最初の 5 文字など) の照合に使用されるため、Contains は prefix_search を実行する必要があります。
これは私の質問です。
CREATE PROCEDURE [SearchMail]
(
@AccountId int,
@SearchTerm VARCHAR(100)
)
AS
SET NOCOUNT ON
BEGIN
SELECT MailId, AccountId, ServerId, ToAddress, FromAddress, DateSent, DateReceived ,
[Subject], Body, PolicyNumber, ProducerNumber, IsRead, IsDeleted, IsImaged,
DateUpdated, DateDeleted, DateImaged, UpdatedBy, DeletedBy, ImagedBy
FROM MailMessages
WHERE AccountId = @AccountId
AND CONTAINS(([Subject], Body, PolicyNumber, ProducerNumber, FromAddress), ' "' + @SearchTerm + '*" ')
AND IsDeleted = 0
AND IsImaged = 0
END
GO
しかし、これを実行しようとすると、Enterprise Manager が次のエラーで応答します: "+" 付近の構文が正しくありません
この時点で、何が間違っているのかわかりません。