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/8f/8febcc62a2e3023ae351f4d6874...

44 lines
3.1 KiB

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