You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ITSM/.svn/pristine/ef/ef01e583670db407217e5e50b46...

62 lines
3.5 KiB

USE [Vertragsverwaltung_20160404]
GO
/****** Object: StoredProcedure [dbo].[sp_vertragselement_details_inaktivieren_get_childs] Script Date: 02.12.2016 09:08:53 ******/
DROP PROCEDURE [dbo].[sp_vertragselement_details_inaktivieren_get_childs]
GO
/****** Object: StoredProcedure [dbo].[sp_vertragselement_details_inaktivieren_get_childs] Script Date: 02.12.2016 09:08:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Stefan Hutter>
-- Create date: <20.01.2009>
-- Description: <Inaktivieren sämtlicher untergeordneten Beziehungselemente eines Vertragselementes>
-- =============================================
CREATE PROCEDURE [dbo].[sp_vertragselement_details_inaktivieren_get_childs]
@vertragselementnr int,
@mutierer int
AS
CREATE TABLE #tmpd(
[vertragselementnr] [int] ,
[aktiv] bit
) ON [DEFAULT]
insert #tmpd (vertragselementnr, aktiv) values(@vertragselementnr,1)
declare @nr int
declare @aktiv bit
declare xc cursor for
select vertragselementnr, aktiv from dbo.vertragselement where parentid=@vertragselementnr
open xc
fetch next from xc into @nr, @aktiv
while @@fetch_status=0 begin
insert #tmpd (vertragselementnr, aktiv) values (@nr, @aktiv)
exec sp_vertragselement_details_inaktivieren_get_childs_down @nr, 1, 0,-1
fetch next from xc into @nr, @aktiv
end
close xc
deallocate xc
declare secondc cursor for
select vertragselementnr, aktiv from #tmpd where aktiv=1
open secondc
fetch next from secondc into @nr, @aktiv
while @@fetch_status = 0 begin
if @aktiv=1 begin
execute sp_vertragselement_details_inaktivieren @nr, @mutierer
end
fetch next from secondc into @nr, @aktiv
end
close secondc
deallocate secondc
GO