• Sql-Server触发器,根据条件匹配另一个表中的字段


    USE [CDM]
    GO
    /****** Object:  Trigger [dbo].[UpdateAkisFlight]    Script Date: 2018/6/14 16:43:29 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    
    ALTER TRIGGER [dbo].[UpdateAkisFlight]
       ON  [dbo].[FlightWarnTime]
       FOR INSERT,DELETE
    AS 
    BEGIN
    if(exists(select 1 from inserted) and not exists(select 1 from deleted))
        begin
          declare @TwoCode nvarchar(50),@FlightNum  nvarchar(50),@ThreeCode  nvarchar(50),@Etd datetime,@FlightId  int,@Calsign  nvarchar(50),@ID int
           select @TwoCode=TwoCode,@FlightNum=FlightNumber,@Etd = Etd,@ID = Id from inserted 
           select @ThreeCode=Code3  from Company  with(nolock)  where Code2=@TwoCode
           if @ThreeCode is not null
               begin
                 set @Calsign=@ThreeCode+@FlightNum
                 if @FlightNum is not null
                    begin
                       update [dbo].[FlightWarnTime] set Calsign=@Calsign where Id=@ID
                    end
                 if @Etd is not null
                   begin 
                     select  @FlightId=FlightId from [AKIS].[dbo].[ValidFlight]  with(nolock)  where Calsign=@Calsign  and  ABS(DATEDIFF(MINUTE,Etd,@Etd)) <=60  and DepAddrName='ZHCC'
                   end
                 if @FlightId is not null
                   begin      
                      update [dbo].[FlightWarnTime] set AkisFlightId=@FlightId where Id=@ID
                   end
               end
        end
    END
  • 相关阅读:
    创建进程
    进程
    操作系统历史
    socket
    网络基础
    常用模块二:hashlib、configparser、logging
    常见正则匹配
    类中的内置方法(魔法方法、双下方法)
    反射、isinstance和issubclass
    封装、继承、多态
  • 原文地址:https://www.cnblogs.com/lcidy/p/9235664.html
Copyright © 2020-2023  润新知