>

SQL에 익숙하지 않으므로 무식한 질문은 용서하십시오.

내 저장 프로시 저는 다음과 같습니다.

ALTER PROCEDURE [dbo].[search_highlights]
    @page INT = 1,
    @recsPerPage INT = 20,
    @query NVARCHAR(MAX) = ''
AS
BEGIN
    SET NOCOUNT ON
    DECLARE @FirstRec AS INT = (@page - 1) * @recsPerPage,
            @LastRec AS INT = (@page * @recsPerPage + 1)
    SELECT
        [id],
        [datetime],
        [player_ids], [player_names],
        [headline], [duration],
        [blurb], [bigblurb],
        [thumb_s], [thumb_m], [thumb_l],
        [video_s], [video_m], [video_l],
        [gameid],
        [team_id], [team_name]
    FROM 
        (SELECT
             [id],
             [datetime],
             [player_ids], [player_names],
             [headline],
             [duration],
             [blurb], [bigblurb],
             [thumb_s], [thumb_m], [thumb_l],
             [video_s], [video_m], [video_l],
             [gameid],
             [team_id], [team_name],
             ROW_NUMBER() OVER (ORDER BY datetime DESC) AS rn
         FROM 
             [bbt].[dbo].[highlights]
         WHERE 
             CONTAINS((player_names, headline, blurb, bigblurb, team_name), @query)
        ) hp
    WHERE 
        rn BETWEEN @FirstRec AND @LastRec
    ORDER BY 
        datetime DESC
END

저장 프로 시저를 다음과 같이 호출하려고합니다 :

EXEC [dbo].[search_highlights] 1, 20, '"double play"'

실행하면 다음과 같은 오류가 발생합니다 :

와이즈 비즈 내가

Msg 7630, Level 15, State 2, Procedure dbo.search_highlights, Line 13 [Batch Start Line 0]
Syntax error near '"' in the full-text search condition '"'.

없이 시도하면 오류가 사라지지만 결과를 얻지 않아도 결과가 표시되지 않습니다.

도움말?

"
  • 답변 # 1

    SQL Server에서는 문자열 길이를 정의해야합니다 (대부분의 컨텍스트에서 기본값은 1입니다).

    저장 프로 시저를 다음과 같이 정의하십시오 :

    ALTER PROCEDURE [dbo].[search_highlights] (
        @page int = 1,
        @recsPerPage int = 20,
        @query VARCHAR(max) = ''
    ) AS . . .
    
    

관련 자료

  • 이전 python - 요청 및 팬더를 사용하여 원격 Excel 파일의 헤더 가져 오기
  • 다음 Regex - 정규식 - java의 모든 sql 문에서 이러한 종류의 sql을 제외하는 방법은 무엇입니까?