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.
45 lines
3.5 KiB
45 lines
3.5 KiB
USE [Vertragsverwaltung_20160404]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_struktur_down] Script Date: 02.12.2016 09:08:53 ******/
|
|
DROP PROCEDURE [dbo].[sp_vertragsuebersicht_get_struktur_down]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_struktur_down] Script Date: 02.12.2016 09:08:55 ******/
|
|
SET ANSI_NULLS OFF
|
|
GO
|
|
SET QUOTED_IDENTIFIER OFF
|
|
GO
|
|
|
|
|
|
|
|
CREATE proc [dbo].[sp_vertragsuebersicht_get_struktur_down] @Root int,
|
|
@imandant int,
|
|
@vnr int,
|
|
@tmpid int,
|
|
@loopcnt int
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON
|
|
declare @vertragselementnr int, @bezeichnung varchar(255), @nr int, @parent int, @seclevel int, @aktiv bit
|
|
|
|
select @bezeichnung=bezeichnung, @nr=vertragselementnr, @parent=parentid, @seclevel=securitylevelnr, @aktiv=aktiv, @vnr=vertragstypnr
|
|
from vertragselement
|
|
where vertragselementnr=@root
|
|
|
|
if @tmpid<>-1 set @parent=@tmpid
|
|
declare @cnt int
|
|
select @cnt=count(*) from #tmpd where vertragselementnr=@nr
|
|
if @cnt<1 insert into #tmpd (vertragselementnr, bezeichnung, parentid,vertragstypnr, aktiv,vertragselementnrursprung, level, loopcnt) values (@nr, @bezeichnung, @parent,@vnr*-100, @aktiv,@nr, @@nestlevel,@loopcnt)
|
|
--insert into #tmpd (vertragselementnr, bezeichnung, parentid,vertragstypnr, aktiv, vertragselementnrursprung) values (@nr, @bezeichnung, @parent,@vnr, @aktiv, @nr)
|
|
set @vertragselementnr=(select min (vertragselementnr) from vertragselement where parentid=@root)
|
|
|
|
while @vertragselementnr is not null begin
|
|
exec dbo.sp_vertragsuebersicht_get_struktur_down @vertragselementnr, 1, @vnr,-1, @loopcnt
|
|
set @vertragselementnr=(select min (vertragselementnr) from dbo.vertragselement where parentid=@root and vertragselementnr>@vertragselementnr)
|
|
end
|
|
|
|
end
|
|
|
|
|
|
GO
|