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