USE [Vertragsverwaltung_20160404] GO /****** Object: StoredProcedure [dbo].[sp_vertragselement_delete_vertragselement_beziehungen] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_vertragselement_delete_vertragselement_beziehungen] GO /****** Object: StoredProcedure [dbo].[sp_vertragselement_delete_vertragselement_beziehungen] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE PROCEDURE [dbo].[sp_vertragselement_delete_vertragselement_beziehungen] @vertragselementnr int, @mutierer int AS BEGIN declare @vaenr int declare @liz int declare xc cursor for select vertragselementapplikationnr from vertragselementapplikation where vertragselementnr=@vertragselementnr and aktiv=1 open xc fetch next from xc into @vaenr while @@FETCH_STATUS=0 begin declare lc cursor for select lizenzkaufnr from lizenzkauf where vertragselementapplikationnr=@vaenr and aktiv=1 open lc fetch next from lc into @liz while @@FETCH_STATUS=0 begin update Lizenzschluessel set Aktiv=0, Mutierer=@mutierer,Mutiert_am=GETDATE() where Aktiv=1 and Lizenzkaufnr=@liz update Lizenzkauf set Aktiv=0,Mutierer=@mutierer,Mutiert_am=GETdate() where LizenzkaufNr=@liz and Aktiv=1 fetch next from lc into @liz end close lc deallocate lc update VertragselementApplikation set Aktiv=0, Mutierer=@mutierer,Mutiert_am=GETDATE() where VertragselementApplikationnr=@vaenr and Aktiv=1 fetch next from xc into @vaenr end close xc deallocate xc declare @enr int declare ec cursor for select ereignisnr from vertragsereignis where vertragselementnr=@vertragselementnr and aktiv=1 open ec fetch next from ec into @enr while @@FETCH_STATUS=0 begin update Aktivitaet set Aktiv=0, Mutiert_am=GETDATE(), Mutierer=@mutierer where Aktivitaet.Ereignisnr=@enr and Aktiv=1 fetch next from ec into @enr end close ec deallocate ec update dbo.vertragskontakt set aktiv=0, mutiert_am=getdate(), mutierer=@mutierer where vertragselementnr=@vertragselementnr and aktiv=1 update dbo.vertragselement_referenz set aktiv=0, mutiert_am=getdate(), mutierer=@mutierer where vertragselementnr_1=@vertragselementnr and aktiv=1 update dbo.vertragselement_referenz set aktiv=0, mutiert_am=getdate(), mutierer=@mutierer where vertragselementnr_2=@vertragselementnr and aktiv=1 update dbo.vertragsereignis set aktiv=0, mutiert_am=getdate(), mutierer=@mutierer where vertragselementnr=@vertragselementnr and aktiv=1 update dbo.vertragsleistung set aktiv=0, mutiert_am=getdate(), mutierer=@mutierer where vertragselementnr=@vertragselementnr and aktiv=1 update dbo.dokument set aktiv=0, mutiert_am=getdate(), mutierer=@mutierer where keyvalue=@vertragselementnr and doktype=1 and aktiv=1 update dbo.kuendigungsfrist set aktiv=0, mutiert_am=getdate(), mutierer=@mutierer where vertragselementnr=@vertragselementnr and aktiv=1 -- update dbo.vertragselementapplikation set aktiv=0, mutiert_am=getdate(), mutierer=@mutierer where vertragselementnr=@vertragselementnr and aktiv=1 END GO