tsql - Trigger after insert on two tables -
i have following trigger right have requirement kick off trigger if table facility has record inserted locationid = 'er'-
as per comment i've updated trigger -
alter trigger [dbo].[voceraoeorders] on [dbo].[oeorders] insert if not exists ( select * dbo.facility locationid = 'er' ) return declare @priority varchar(50) declare @cat varchar(50) declare @order varchar(50) declare @procedure varchar(50) declare @orderid varchar(50) declare @locationid varchar(10) declare @roomid varchar(10) declare @visitid varchar(50) select @visitid = visitid ,@priority = priority ,@cat = category ,@procedure = orderedprocedurename ,@order = orderdatetime ,@orderid = ordernumber ,@locationid = ( select locationid dbo.facility visitid = @visitid ) ,@roomid = ( select case when roomtreatmentid null 'no room#' else roomtreatmentid end dbo.facility visitid = @visitid ) insterted @priority = 'stat' , @cat in ( 'ct' ,'mri' ,'xray' ,'us' ,'rt' ,'nuc' ,'echo' ) begin declare @msg varchar(500) declare @subject varchar(500) set @msg = @procedure + ' - ' + @locationid + ' ' + @roomid + '-' + ' priority ' + @priority + '.' + 'order datetime/number ' + @order + '/' + @orderid set @subject = 'vocera group name here' exec msdb.dbo.sp_send_dbmail @recipients = n'some_email' ,@body = @msg ,@subject = @subject ,@profile_name = 'alert' end
just add in beginning of trigger:
if not exists(select * facilities facilityid = 'er') return you can't stop kicking trigger. can check condition , return trigger.
Comments
Post a Comment