事务在触发器中结束批处理已中止错误

时间:2015-06-03 08:18:37

标签: sql sql-server triggers batch-processing

我是一个新的SQL dba,我收到错误:

  

交易在批次中止的触发器中结束。

触发代码:

ALTER TRIGGER stok_yedek ON dbo.[Instance - Stok (1851)]
FOR INSERT
AS
BEGIN
    INSERT INTO [EGITIM_01].dbo.[Instance - Stok (1851)] (
        [ParentInstance]
        ,[ParentTemplateConfigurationItem]
        ,[ParentConfigurationItem]
        ,[BaseInstance]
        ,[SortOrder]
        ,[DateCreated]
        ,[DateModified]
        ,[ModifiedBy]
        ,[RecycleBin]
        ,[Archived]
        ,[OriginalInstance]
        ,[Stok Adı (1852)]
        ,[Stok Grup Kodu (1993)]
        ,[Mevcut Miktar (1999)]
        ,[Model No (2001)]
        ,[Grubu (Özel Kod2) (2002)]
        ,[İlgili Şirket (2035)]
        ,[Markası (2036)]
        ,[Alt Grubu (Özel Kod3) (2397)]
        ,[Logo Stok Kodu (2398)]
        ,[Depo Mevcutu (2487)]
        ,[Antrepo Mevcutu (2488)]
        ,[Birim (2000)]
        ,[New Drop Down (3931)]
        ,[Masraf Merkezi Kodu (3932)]
        ,[Masraf Merkezi Kodu (3933)]
        ,[Tipi (3934)]
        ,[Soğutma Kapasitesi (3935)]
        ,[Marka (Özel Kodu) (4046)]
        ,[Özel Kod4 (4053)]
        ,[Özel Kod5 (4054)]
        ,[Durumu (4247)]
        ,[Üretici Kodu (4302)]
        ,[Açıklama-2 (4303)]
        )
    SELECT i.[ParentInstance]
        ,i.[ParentTemplateConfigurationItem]
        ,i.[ParentConfigurationItem]
        ,i.[BaseInstance]
        ,i.[SortOrder]
        ,i.[DateCreated]
        ,i.[DateModified]
        ,i.[ModifiedBy]
        ,i.[RecycleBin]
        ,i.[Archived]
        ,i.[OriginalInstance]
        ,i.[Stok Adı (1852)]
        ,i.[Stok Grup Kodu (1993)]
        ,i.[Mevcut Miktar (1999)]
        ,i.[Model No (2001)]
        ,i.[Grubu (Özel Kod2) (2002)]
        ,i.[İlgili Şirket (2035)]
        ,i.[Markası (2036)]
        ,i.[Alt Grubu (Özel Kod3) (2397)]
        ,i.[Logo Stok Kodu (2398)]
        ,i.[Depo Mevcutu (2487)]
        ,i.[Antrepo Mevcutu (2488)]
        ,i.[Birim (2000)]
        ,i.[New Drop Down (3931)]
        ,i.[Masraf Merkezi Kodu (3932)]
        ,i.[Masraf Merkezi Kodu (3933)]
        ,i.[Tipi (3934)]
        ,i.[Soğutma Kapasitesi (3935)]
        ,i.[Marka (Özel Kodu) (4046)]
        ,i.[Özel Kod4 (4053)]
        ,i.[Özel Kod5 (4054)]
        ,i.[Durumu (4247)]
        ,i.[Üretici Kodu (4302)]
        ,i.[Açıklama-2 (4303)]
    FROM inserted i

    IF @@TRANCOUNT > 0
    BEGIN
        COMMIT TRANSACTION InProc;

        -- There is no BEGIN TRAN statement after this statement. However there is no error 266 either.
        PRINT 'In proc commit: ' + CAST(@@TRANCOUNT AS CHAR(1));
    END
    ELSE
        PRINT @@error
END

BEGIN
INSERT INTO [Ramazan_Test].[dbo].[stok_yedek] (
    [ParentInstance]
    ,[ParentTemplateConfigurationItem]
    ,[ParentConfigurationItem]
    ,[BaseInstance]
    ,[SortOrder]
    ,[DateCreated]
    ,[DateModified]
    ,[ModifiedBy]
    ,[RecycleBin]
    ,[Archived]
    ,[OriginalInstance]
    ,[Stok_Adi]
    ,[Stok Grup Kodu (1993)]
    ,[Mevcut Miktar (1999)]
    ,[Model No (2001)]
    ,[Grubu (Özel Kod2) (2002)]
    ,[İlgili Şirket (2035)]
    ,[Markası (2036)]
    ,[Alt Grubu (Özel Kod3) (2397)]
    ,[Logo Stok Kodu (2398)]
    ,[Depo Mevcutu (2487)]
    ,[Antrepo Mevcutu (2488)]
    ,[Birim (2000)]
    ,[New Drop Down (3931)]
    ,[Masraf Merkezi Kodu (3932)]
    ,[Masraf Merkezi Kodu (3933)]
    ,[Tipi (3934)]
    ,[Soğutma Kapasitesi (3935)]
    ,[Marka (Özel Kodu) (4046)]
    ,[Özel Kod4 (4053)]
    ,[Özel Kod5 (4054)]
    ,[Durumu (4247)]
    ,[Üretici Kodu (4302)]
    ,[Açıklama-2 (4303)]
    )
SELECT ins.[ParentInstance]
    ,ins.[ParentTemplateConfigurationItem]
    ,ins.[ParentConfigurationItem]
    ,ins.[BaseInstance]
    ,ins.[SortOrder]
    ,ins.[DateCreated]
    ,ins.[DateModified]
    ,ins.[ModifiedBy]
    ,ins.[RecycleBin]
    ,ins.[Archived]
    ,ins.[OriginalInstance]
    ,ins.[Stok Adı (1852)]
    ,ins.[Stok Grup Kodu (1993)]
    ,ins.[Mevcut Miktar (1999)]
    ,ins.[Model No (2001)]
    ,ins.[Grubu (Özel Kod2) (2002)]
    ,ins.[İlgili Şirket (2035)]
    ,ins.[Markası (2036)]
    ,ins.[Alt Grubu (Özel Kod3) (2397)]
    ,ins.[Logo Stok Kodu (2398)]
    ,ins.[Depo Mevcutu (2487)]
    ,ins.[Antrepo Mevcutu (2488)]
    ,ins.[Birim (2000)]
    ,ins.[New Drop Down (3931)]
    ,ins.[Masraf Merkezi Kodu (3932)]
    ,ins.[Masraf Merkezi Kodu (3933)]
    ,ins.[Tipi (3934)]
    ,ins.[Soğutma Kapasitesi (3935)]
    ,ins.[Marka (Özel Kodu) (4046)]
    ,ins.[Özel Kod4 (4053)]
    ,ins.[Özel Kod5 (4054)]
    ,ins.[Durumu (4247)]
    ,ins.[Üretici Kodu (4302)]
    ,ins.[Açıklama-2 (4303)]
FROM inserted ins

END

我该怎么办?

0 个答案:

没有答案