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.
42 lines
2.8 KiB
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
|