Home Forums SQL Server 7,2000 T-SQL This shouldn't be that hard - IDENTITY_INSERT in a function RE: This shouldn't be that hard - IDENTITY_INSERT in a function

  • Thank you all for your help. I was able to resolve the issue! I believe it was a combination of not turning off IDENTITY coupled with a syntax error that caused the problem. The following seems to work:

    CREATE PROCEDURE dbo.SetID (@Tbl Nvarchar(60),@QryTxt Nvarchar(max))

    AS

    BEGIN

    --Declare @MText nvarchar(max) = ' SET IDENTITY_INSERT ' + @Tbl + ' ON; ' + CHAR(13) + CHAR(10) + ' GO ' + CHAR(13) + CHAR(10) + @QryTxt + CHAR(13) + CHAR(10) + ' SELECT @@ROWCOUNT;'

    Declare @MText nvarchar(max) = ' SET IDENTITY_INSERT ' + @Tbl + ' ON; ' + CHAR(13) + CHAR(10) + @QryTxt + CHAR(13) + CHAR(10) + ' SELECT @@ROWCOUNT;'

    BEGIN TRY

    EXEC(@MText)

    EXEC(' SET IDENTITY_INSERT ' + @Tbl + ' OFF; ')

    END TRY

    BEGIN CATCH

    EXEC ( @QryTxt + ' SELECT @@ROWCOUNT;')

    END CATCH

    END;

    GO

    dbo.SetID '[SKDataNPINew].dbo.[JobWIP]', 'INSERT INTO SKDataNPINew.dbo.[JobWIP] ( [JWip_ID], [JWip_JobNum], [JWip_ReleaseNum], [JWip_Note], [JWip_GLIDLink], [JWip_DateTimeStamp], [JWip_Date], [JWip_PostedBy], [JWip_SourceCode], [JWip_LaborCost], [JWip_LaborOH], [JWip_MatlCost], [JWip_Subcontract], [JWip_Hrs] ) SELECT OLDname.[JWip_ID], OLDname.[JWip_JobNum], OLDname.[JWip_ReleaseNum], OLDname.[JWip_Note], OLDname.[JWip_GLIDLink], OLDname.[JWip_DateTimeStamp], OLDname.[JWip_Date], OLDname.[JWip_PostedBy], OLDname.[JWip_SourceCode], OLDname.[JWip_LaborCost], OLDname.[JWip_LaborOH], OLDname.[JWip_MatlCost], OLDname.[JWip_Subcontract], OLDname.[JWip_Hrs] FROM SKDataNPI.dbo.[JobWIP] OLDname LEFT JOIN SKDataNPINew.dbo.[JobWIP] ON (OLDname.JWip_ID = SKDataNPINew.dbo.[JobWIP].JWip_ID) WHERE SKDataNPINew.dbo.[JobWIP].JWip_ID IS NULL;'