Оператор вставки значений может содержать только постоянные литеральные значения или ошибку ссылок на переменные при выполнении процедуры ниже - PullRequest
0 голосов
/ 18 июня 2020

Я получаю:

Оператор вставки значений может содержать только постоянные литеральные значения или ошибку ссылок на переменные

при выполнении приведенной ниже процедуры при вставке в dbo.DB_time_log таблицу .

CREATE PROCEDURE [dbo].[sp_chm_dedupe_import] AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @StartTime  DATETIME;
    DECLARE @EndTime    DATETIME;

    SET @StartTime  = GETDATE();

    PRINT 'Procedure Started at :'
            + RTRIM(CAST(GETDATE() AS nvarchar(30)));

    BEGIN TRAN
    BEGIN TRY
        INSERT INTO [CHM].[UCIC_PAN_INDIA_TEST_TS]
        SELECT
                CAST(UCID AS bigint),CAST(UCIC_OLD AS bigint),CAST(HID AS bigint),
                CAST(HID_OLD AS bigint),CAST(CID AS VARCHAR(20)),CAST(BU AS VARCHAR(10)),
                CAST(TIME_STAMP AS VARCHAR(20))
            FROM [dbo].[CHM_EXT_All_India_DL]
            OPTION (LABEL = 'CHM_AllIndia_EXT_Data_Load');

    END TRY
    BEGIN CATCH

        IF @@TRANCOUNT > 0
        BEGIN
            ROLLBACK TRAN;
            PRINT 'ROLLBACK';
        END
    END CATCH;

    IF @@TRANCOUNT >0
    BEGIN
        PRINT 'COMMIT';
        COMMIT TRAN;
    END

    SET @EndTime  = GETDATE();

    INSERT INTO dbo.DB_time_log
    VALUES
    (
        'SP_CHM_DEDUPE_IMPORT',
        @StartTime,
        @EndTime,
        GETDATE()
    );

    PRINT 'Procedure Ended at :'
        + RTRIM(CAST(GETDATE() AS nvarchar(30)));

    SET NOCOUNT OFF;

END
GO
...