消息257,级别16,状态3,过程stok_yedek,第75行不允许从数据类型datetime到int的隐式转换

时间:2015-06-02 13:37:35

标签: sql sql-server

我有问题;我写了一个SQL触发器,我收到一个错误,即:

  

Msg 257,Level 16,State 3,Procedure stok_yedek,Line 75

     

不允许从数据类型datetime到int的隐式转换。使用   CONVERT函数用于运行此查询。

这是我的代码:

ALTER trigger stok_yedek on dbo.[Instance - Stok (1851)] for insert
as begin
           declare @ParentInstance int
            declare @ParentTemplateConfigurationItem int
           declare @ParentConfigurationItem int
           declare @BaseInstance int
           declare @SortOrder int
           declare @DateCreated datetime
           declare @DateModified datetime
           declare @ModifiedBy int
           declare @RecycleBin tinyint
           declare @Archived tinyint
           declare @OriginalInstance int
           declare @Stok_Adi nchar(100)
           declare @Stok_Grup_Kodu int
           declare @Mevcut_Miktar float
           declare @Model_No nchar(100)
           declare @Grubu int
           declare @Ilgili int
           declare @Marka nchar(100)
           declare @Alt_Grubu int
           declare @Logo_Stok_Kodu nchar(100)
           declare @Depo_Mevcutu float
           declare @Antrepo_Mevcutu float
           declare @Birim int
           declare @New_Drop_Down nvarchar(128)
           declare @Masraf_Merkezi_Kodu float
           declare @Masraf_Merkezi_Kodu2 nchar(100)
           declare @Tipi nchar(100)
           declare @Sogutma_Kapasitesi float
           declare @Marka_Ozel_Kodu int
           declare @Ozel_Kod nchar(100)
           declare @Ozel_Kod2 nchar(100)
           declare @Durumu nvarchar(128)
           declare @Uretici nchar(100)
           declare @Aciklama2 nchar(100)
        select   @ParentInstance=inserted.ParentInstance
            from inserted
        SELECT @ParentTemplateConfigurationItem=inserted.ParentTemplateConfigurationItem
   FROM inserted
     SELECT @ParentConfigurationItem=ParentConfigurationItem
     FROM inserted
      SELECT @BaseInstance=BaseInstance FROM inserted
      SELECT @SortOrder=SortOrder from inserted
      select @DateCreated=DateCreated from inserted
      select @DateModified=DateModified from inserted
      SELECT @ModifiedBy=ModifiedBy FROM inserted
      SELECT @RecycleBin=RecycleBin FROM inserted
     select @Archived=Archived FROM inserted
     SELECT @OriginalInstance=OriginalInstance FROM inserted
     SELECT @Stok_Adi= [Stok Adı (1852)]FROM inserted
     SELECT @Stok_Grup_Kodu=[Stok Grup Kodu (1993)] FROM inserted
     SELECT @Mevcut_Miktar=[Mevcut Miktar (1999)] FROM inserted
    select @Model_No=[Model No (2001)]FROM inserted
    SELECT @Grubu=[Grubu (Özel Kod2) (2002)] from inserted
    select @Ilgili=[İlgili Şirket (2035)] from inserted
    select @Marka=[Markası (2036)] from inserted
    select @Alt_Grubu=[Alt Grubu (Özel Kod3) (2397)] from inserted
    select @Logo_Stok_Kodu=[Logo Stok Kodu (2398)] from inserted
    select @Depo_Mevcutu=[Depo Mevcutu (2487)] from inserted
    select @Antrepo_Mevcutu=[Antrepo Mevcutu (2488)]from inserted
    select @Birim=[Birim (2000)]from inserted
    select @New_Drop_Down=[New Drop Down (3931)]from inserted
    select @Masraf_Merkezi_Kodu=[Masraf Merkezi Kodu (3932)]from inserted
    select @Masraf_Merkezi_Kodu2=[Masraf Merkezi Kodu (3933)]from inserted
    select @Tipi=[Tipi (3934)] from inserted
    select @Sogutma_Kapasitesi=[Soğutma Kapasitesi (3935)] from inserted
    select @Marka_Ozel_Kodu=inserted.[Marka (Özel Kodu) (4046)] from inserted
    select @Ozel_Kod=[Özel Kod4 (4053)] from inserted
    select @Ozel_Kod2=[Özel Kod5 (4054)]from inserted
    select @Durumu=[Durumu (4247)] from inserted
    select @Uretici=[Üretici Kodu (4302)] from inserted
    select @Aciklama2=[Açıklama-2 (4303)] from inserted

  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)])
     VALUES
           (@ParentInstance,@ParentInstance,@ParentTemplateConfigurationItem
     ,@ParentConfigurationItem,@BaseInstance,@SortOrder,@DateCreated
     ,@DateModified,@ModifiedBy,@RecycleBin,@OriginalInstance,@Stok_Adi,
     @Stok_Grup_Kodu,@Mevcut_Miktar,@Model_No,@Grubu,@Ilgili,
     @Marka,@Alt_Grubu,@Logo_Stok_Kodu,@Depo_Mevcutu,@Antrepo_Mevcutu,
     @Birim,@New_Drop_Down,@Masraf_Merkezi_Kodu,@Masraf_Merkezi_Kodu2,@Tipi
     ,@Sogutma_Kapasitesi,@Marka,@Ozel_Kod,@Ozel_Kod2,@Durumu,@Uretici
     ,@Aciklama2
     )  
         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
  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)])
     VALUES
           (@ParentInstance,@ParentInstance,@ParentTemplateConfigurationItem
     ,@ParentConfigurationItem,@BaseInstance,@SortOrder,@DateCreated
     ,@DateModified,@ModifiedBy,@RecycleBin,@OriginalInstance,@Stok_Adi,
     @Stok_Grup_Kodu,@Mevcut_Miktar,@Model_No,@Grubu,@Ilgili,
     @Marka,@Alt_Grubu,@Logo_Stok_Kodu,@Depo_Mevcutu,@Antrepo_Mevcutu,
     @Birim,@New_Drop_Down,@Masraf_Merkezi_Kodu,@Masraf_Merkezi_Kodu2,@Tipi
     ,@Sogutma_Kapasitesi,@Marka,@Ozel_Kod,@Ozel_Kod2,@Durumu,@Uretici
     ,@Aciklama2
     )  

你能帮我吗?

2 个答案:

答案 0 :(得分:0)

datetime个变量值转换为INT,然后转换为INSERT

e.g:

DECLARE @DateCreated datetime='2015-06-2 11:59:59'
SELECT CAST(CONVERT(varchar(20),@DateCreated,112) as INT)

插入@DateCreated时,请参阅上述代码,您可以使用@DateModified

CAST(CONVERT(varchar(20),@DateCreated,112) as INT),     
CAST(CONVERT(varchar(20),@DateModified ,112) as INT)

答案 1 :(得分:0)

我为你的代码做了一些清理工作。通过保持代码简单和干净,您可以在将来避免一些不必要的麻烦:

template.deleteRelationshipBetween(Object start, Object end, String type)