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/80/8020d5b5a9365ce2c7b96cc76b1...

42 lines
2.8 KiB

USE [Vertragsverwaltung_20160404]
GO
/****** Object: StoredProcedure [dbo].[sp_vertragselement_details_inaktivieren_get_childs_down] Script Date: 02.12.2016 09:08:53 ******/
DROP PROCEDURE [dbo].[sp_vertragselement_details_inaktivieren_get_childs_down]
GO
/****** Object: StoredProcedure [dbo].[sp_vertragselement_details_inaktivieren_get_childs_down] Script Date: 02.12.2016 09:08:55 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE proc [dbo].[sp_vertragselement_details_inaktivieren_get_childs_down]
@Root int,
@imandant int,
@vnr int,
@tmpid int
AS
BEGIN
SET NOCOUNT ON
declare @vertragselementnr int, @bezeichnung varchar(50), @nr int, @parent int, @seclevel int, @aktiv bit
select @bezeichnung=bezeichnung, @nr=vertragselementnr, @parent=parentid, @seclevel=securitylevelnr, @aktiv=aktiv
from vertragselement
where vertragselementnr=@root
if @tmpid<>-1 set @parent=@tmpid
insert into #tmpd (vertragselementnr, aktiv) values (@nr, @aktiv)
set @vertragselementnr=(select min (vertragselementnr) from vertragselement where parentid=@root)
while @vertragselementnr is not null begin
exec sp_vertragselement_details_inaktivieren_get_childs_down @vertragselementnr, 1, @vnr,-1
set @vertragselementnr=(select min (vertragselementnr) from dbo.vertragselement where parentid=@root and vertragselementnr>@vertragselementnr)
end
end
GO