Home Forums SQL Server 2005 Administering Reindexing requires recompile of Stored procedures RE: Reindexing requires recompile of Stored procedures

  • Additional Information...

    Here is the actual error from the Web Application..

    Inner Exception

    ---------------

    Type : System.Data.SqlClient.SqlException, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

    Message : Incorrect syntax near 'CA'.

    Source : .Net SqlClient Data Provider

    Help link :

    Errors : System.Data.SqlClient.SqlErrorCollection

    Class : 15

    LineNumber : 29

    Number : 102

    Procedure : uspDALC_mrCourtListByApplication

    Here is the Code for the SP where it appears the error is occurring...

    Again I only see this after I reindex and the error goes away when I recompile the SP...

    /****** Object: StoredProcedure [dbo].[uspDALC_mrCourtListByApplication] Script Date: 05/21/2008 09:16:43 ******/

    SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER OFF

    GO

    /*

    uspDALC_mrCourtListByApplication 'BKECF'

    uspDALC_mrCourtListByApplication '4'

    uspDALC_mrCourtListByApplication '%','tracking.exists'

    exec uspDALC_mrCourtListByApplication @strApplicationId=N'__SELECT_ONE__',@strOption=N'tracking.exists'

    */

    -- =============================================

    -- Author:

    -- Create date:

    -- Description:

    -- =============================================

    ALTER PROCEDURE [dbo].[uspDALC_mrCourtListByApplication]

    @strApplicationId VARCHAR(50) = '%',

    @strOption VARCHAR(20) = NULL

    AS

    BEGIN

    SET NOCOUNT ON;

    DECLARE @intApplicationKey INTEGER

    BEGIN TRY

    SET @intApplicationKey = CAST(ISNULL(@strApplicationId,0) AS INTEGER)

    END TRY

    BEGIN CATCH

    SET @intApplicationKey = 0

    IF @strApplicationId <> '%'

    SELECT @intApplicationKey = applicationKey FROM [Application] WHERE applicationId = @strApplicationId

    END CATCH

    SELECT DISTINCT

    Court.courtKey,

    courtId,

    courtName,

    courtId + ' ' + courtName as courtDisplayName

    FROM RequestDetail BASE

    JOIN ReportedBy rby ON BASE.requestKey = rby.requestKey

    AND rby.reportedByKey = (SELECT MAX(t.reportedByKey) FROM ReportedBy t WHERE t.requestKey = BASE.requestKey)

    JOIN Contact ON rby.contactKey = Contact.contactKey

    JOIN Court

    ON Contact.courtKey = Court.courtKey

    --ON BASE.courtKeyReportedIn = Court.courtKey

    AND (applicationKeyAssignedTo = @intApplicationKey OR @intApplicationKey = 0)

    AND

    ((@strOption IS NULL)

    OR (@strOption = 'tracking.exists'

    AND EXISTS (SELECT * FROM requesttracking RT WHERE RT.requestKey = BASE.requestKey))

    OR (@strOption = 'mr.exists'

    AND EXISTS (SELECT * FROM MR mr WHERE mr.requestKey = BASE.requestKey))

    )

    ORDER BY courtId

    RETURN @@ROWCOUNT

    END