2011-02-18 12 views
0

사용자가 특정 단어를 입력 할 때 경고 메시지를 표시하는 SQL 트리거를 만들려고합니다. 나는 한 단어로 작업하고 있지만 단어 목록으로 작업해야합니다. 다음과 비슷한 것을 얻을 수있는 방법은 다른 위치에 저장된 단어 목록을 검색하는 것입니다.문자열 검색 문자열 목록

WHERE CHARINDEX('BadWord',Body) > 0 

답변

0

BADWORDS 테이블과 가입 및 트리거에 그 목록의 항목 비교 :

select 
    * 
from 
    inserted i, badwords b 
where 
    charindex(b.badword, i.Body) > 0 
0

나쁜 단어 테이블

select 
    * 
from 
    INSERTED I 
    JOIN 
    myBadWords B ON I.Body LIKE '%' + b.badword + '%' 

에 가입이 잘 실행되지 않습니다 그러나 %를 선도하기 때문에. 전체 텍스트 검색은 더 좋을 것입니다

+0

어떻게 전체 텍스트 검색을 수행 할 수 있습니까? – bookbinder

+0

또한, 내 이메일을 끄기 위해 'LIKE'진술이나 다른 곳에 붙여야합니까? – bookbinder