USE [Vertragsverwaltung_20160404] GO /****** Object: StoredProcedure [dbo].[sp_get_Lizenzstruktur_down] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_get_Lizenzstruktur_down] GO /****** Object: StoredProcedure [dbo].[sp_get_Lizenzstruktur_down] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE proc [dbo].[sp_get_Lizenzstruktur_down] @Root int, @imandant int AS BEGIN SET NOCOUNT ON declare @xx varchar(255) set @xx='' declare @i int while @i < @@NESTLEVEL begin set @xx=@xx+"-" end declare @Lizid int, @bezeichnung varchar(50), @nr int, @parent int, @seclevel int, @aktiv bit,@st int select @bezeichnung=bezeichnung, @nr=Lizenznr, @parent=parentid, @seclevel=securitylevelnr, @aktiv=aktiv,@st=strukturelement from Lizenz where Lizenznr=@root if @parent > 0 begin insert into #tmpd (Lizenznr, bezeichnung, parentid, securitylevelnr, aktiv,strukturelement) values (@nr, @bezeichnung, @parent,@seclevel,@aktiv,@st) end set @Lizid=(select min (Lizenznr) from Lizenz where parentid=@root) while @lizid is not null begin exec dbo.sp_get_Lizenzstruktur_down 1, -1 set @lizid=(select min (Lizenznr) from dbo.Lizenz where parentid=@root and Lizenznr>@lizid) end end GO