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.
968 lines
38 KiB
968 lines
38 KiB
USE [BEA]
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_split_1] Script Date: 13.12.2014 15:01:46 ******/
|
|
DROP FUNCTION [dbo].[fnkt_split_1]
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_split] Script Date: 13.12.2014 15:01:46 ******/
|
|
DROP FUNCTION [dbo].[fnkt_split]
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_get_tgdata_Data] Script Date: 13.12.2014 15:01:46 ******/
|
|
DROP FUNCTION [dbo].[fnkt_get_tgdata_Data]
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_get_Report_Data] Script Date: 13.12.2014 15:01:46 ******/
|
|
DROP FUNCTION [dbo].[fnkt_get_Report_Data]
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_get_mig_hierarchie] Script Date: 13.12.2014 15:01:46 ******/
|
|
DROP FUNCTION [dbo].[fnkt_get_mig_hierarchie]
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_get_hierarchie] Script Date: 13.12.2014 15:01:46 ******/
|
|
DROP FUNCTION [dbo].[fnkt_get_hierarchie]
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_funktionstelle_beziehung_reporting] Script Date: 13.12.2014 15:01:46 ******/
|
|
DROP FUNCTION [dbo].[fnkt_funktionstelle_beziehung_reporting]
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_funktionstelle_beziehung] Script Date: 13.12.2014 15:01:46 ******/
|
|
DROP FUNCTION [dbo].[fnkt_funktionstelle_beziehung]
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_funktionstelle_beziehung] Script Date: 13.12.2014 15:01:46 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
CREATE FUNCTION [dbo].[fnkt_funktionstelle_beziehung]
|
|
(
|
|
@keyvalue INT
|
|
)
|
|
RETURNS @tmp1 TABLE
|
|
(
|
|
ID INT ,
|
|
Bezeichnung VARCHAR(255) ,
|
|
Beschreibung VARCHAR(255) ,
|
|
Sequenz INT ,
|
|
aktiv BIT ,
|
|
erstellt_am DATETIME ,
|
|
mutiert_am DATETIME ,
|
|
mutierer INT ,
|
|
typ VARCHAR(255) ,
|
|
MKey INT,
|
|
Beziehungstyp VARCHAR(255),
|
|
CID INT,
|
|
Temp int
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
INSERT @tmp1 ( ID, Bezeichnung, Sequenz, beschreibung, aktiv, erstellt_am, mutiert_am, mutierer, typ, mkey,beziehungstyp, CID )
|
|
SELECT dbo.Funktionstelle_Berechtigung.Funktionstelle_BerechtigungNr, dbo.Berechtigung.Bezeichnung, dbo.Funktionstelle_Berechtigung.Sequenz,
|
|
dbo.Funktionstelle_Berechtigung.Beschreibung, dbo.Funktionstelle_Berechtigung.Aktiv, dbo.Funktionstelle_Berechtigung.Erstellt_am,
|
|
dbo.Funktionstelle_Berechtigung.Mutiert_am, dbo.Funktionstelle_Berechtigung.Mutierer, dbo.fnkt_get_bezeichnung(0) AS Typ,
|
|
Funktionstelle_Berechtigung.BerechtigungNr, dbo.Beziehungstyp.Bezeichnung AS Beziehungstyp
|
|
,dbo.berechtigung.cid
|
|
FROM dbo.Funktionstelle
|
|
INNER JOIN dbo.Funktionstelle_Berechtigung ON dbo.Funktionstelle.FunktionstelleNr = dbo.Funktionstelle_Berechtigung.FunktionstelleNr
|
|
INNER JOIN dbo.Berechtigung ON dbo.Funktionstelle_Berechtigung.BerechtigungNr = dbo.Berechtigung.BerechtigungNr
|
|
INNER JOIN
|
|
dbo.Beziehungstyp ON dbo.Funktionstelle_Berechtigung.Beziehungstypnr = dbo.Beziehungstyp.BeziehungstypNr
|
|
WHERE ( dbo.Funktionstelle.FunktionstelleNr = @keyvalue ) --AND Funktionstelle_Berechtigung.aktiv=1
|
|
|
|
|
|
INSERT @tmp1 ( ID, Bezeichnung, Sequenz, beschreibung, aktiv, erstellt_am, mutiert_am, mutierer, typ, mkey,beziehungstyp, cid )
|
|
SELECT TOP ( 100 ) PERCENT
|
|
dbo.FunktionStelle_Plattform.FunktionStelle_PlattformNr, dbo.Plattform.Bezeichnung, dbo.FunktionStelle_Plattform.Sequenz,
|
|
dbo.FunktionStelle_Plattform.Beschreibung, dbo.FunktionStelle_Plattform.Aktiv, dbo.FunktionStelle_Plattform.Erstellt_am,
|
|
dbo.FunktionStelle_Plattform.Mutiert_am, dbo.FunktionStelle_Plattform.Mutierer, dbo.fnkt_get_bezeichnung(3) AS Typ,
|
|
FunktionStelle_Plattform.PlattformNr, dbo.Beziehungstyp.Bezeichnung AS Beziehungstyp,
|
|
plattform.CID
|
|
FROM dbo.Funktionstelle
|
|
INNER JOIN dbo.FunktionStelle_Plattform ON dbo.Funktionstelle.FunktionstelleNr = dbo.FunktionStelle_Plattform.FunktionStelleNr
|
|
INNER JOIN dbo.Plattform ON dbo.FunktionStelle_Plattform.PlattformNr = dbo.Plattform.PlattformNr
|
|
INNER JOIN
|
|
dbo.Beziehungstyp ON dbo.FunktionStelle_Plattform.Beziehungstypnr = dbo.Beziehungstyp.BeziehungstypNr
|
|
WHERE ( dbo.Funktionstelle.FunktionstelleNr = @keyvalue ) --AND FunktionStelle_Plattform.Aktiv=1
|
|
|
|
|
|
INSERT @tmp1 ( ID, Bezeichnung, Sequenz, beschreibung, aktiv, erstellt_am, mutiert_am, mutierer, typ, mkey,beziehungstyp )
|
|
SELECT TOP ( 100 ) PERCENT
|
|
dbo.FunktionStelle_Server.FunktionStelle_ServerNr, dbo.Server.Bezeichnung, dbo.FunktionStelle_Server.Sequenz,
|
|
dbo.FunktionStelle_Server.Beschreibung, dbo.FunktionStelle_Server.Aktiv, dbo.FunktionStelle_Server.Erstellt_am,
|
|
dbo.FunktionStelle_Server.Mutiert_am, dbo.FunktionStelle_Server.Mutierer, dbo.fnkt_get_bezeichnung(4) AS Typ,
|
|
Funktionstelle_Server.ServerNr, dbo.Beziehungstyp.Bezeichnung AS Beziehungstyp
|
|
FROM dbo.Funktionstelle
|
|
INNER JOIN dbo.FunktionStelle_Server ON dbo.Funktionstelle.FunktionstelleNr = dbo.FunktionStelle_Server.FunktionStelleNr
|
|
INNER JOIN dbo.Server ON dbo.FunktionStelle_Server.ServerNr = dbo.Server.ServerNr
|
|
INNER JOIN
|
|
dbo.Beziehungstyp ON dbo.FunktionStelle_Server.Beziehungstypnr = dbo.Beziehungstyp.BeziehungstypNr
|
|
WHERE ( dbo.Funktionstelle.FunktionstelleNr = @keyvalue ) --AND Funktionstelle_Server.Aktiv=1
|
|
|
|
|
|
INSERT @tmp1 ( ID, Bezeichnung, Sequenz, beschreibung, aktiv, erstellt_am, mutiert_am, mutierer, typ, mkey,beziehungstyp, temp )
|
|
SELECT dbo.Personal_FunktionStelle.Personal_FunktionStelleNr, dbo.Personal.TGNummer + ' ' + dbo.Personal.Name AS Bezeichnung,
|
|
dbo.Personal_FunktionStelle.Sequenz, dbo.Personal_FunktionStelle.Beschreibung, dbo.Personal_FunktionStelle.Aktiv,
|
|
dbo.Personal_FunktionStelle.Erstellt_am, dbo.Personal_FunktionStelle.Mutiert_am, dbo.Personal_FunktionStelle.Mutierer,
|
|
dbo.fnkt_get_bezeichnung(2) AS TYP, dbo.Personal.Personalnr AS MKEY, dbo.Beziehungstyp.Bezeichnung AS Beziehungstyp
|
|
,dbo.fnkt_get_temporaer(dbo.Personal_FunktionStelle.Personal_FunktionStelleNr)
|
|
FROM dbo.Personal_FunktionStelle
|
|
INNER JOIN dbo.Personal ON dbo.Personal_FunktionStelle.PersonalNr = dbo.Personal.Personalnr
|
|
INNER JOIN dbo.Funktionstelle ON dbo.Personal_FunktionStelle.FunktionStelleNr = dbo.Funktionstelle.FunktionstelleNr
|
|
INNER JOIN
|
|
dbo.Beziehungstyp ON dbo.Personal_FunktionStelle.Beziehungstypnr = dbo.Beziehungstyp.BeziehungstypNr
|
|
WHERE ( dbo.Funktionstelle.FunktionstelleNr = @keyvalue ) --AND dbo.Personal_FunktionStelle.Aktiv=1
|
|
UPDATE @tmp1 SET cid=0 WHERE cid IS null
|
|
RETURN
|
|
|
|
END
|
|
|
|
|
|
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_funktionstelle_beziehung_reporting] Script Date: 13.12.2014 15:01:46 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
Create FUNCTION [dbo].[fnkt_funktionstelle_beziehung_reporting]
|
|
(
|
|
@keyvalue INT
|
|
)
|
|
RETURNS @tmp1 TABLE
|
|
(
|
|
ID INT ,
|
|
Bezeichnung VARCHAR(255) ,
|
|
Beschreibung VARCHAR(255) ,
|
|
Sequenz INT ,
|
|
aktiv BIT ,
|
|
erstellt_am DATETIME ,
|
|
mutiert_am DATETIME ,
|
|
mutierer INT ,
|
|
typ VARCHAR(255) ,
|
|
MKey INT,
|
|
Beziehungstyp VARCHAR(255)
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
INSERT @tmp1 ( ID, Bezeichnung, Sequenz, beschreibung, aktiv, erstellt_am, mutiert_am, mutierer, typ, mkey,beziehungstyp )
|
|
SELECT dbo.Funktionstelle_Berechtigung.Funktionstelle_BerechtigungNr, dbo.Berechtigung.Bezeichnung, dbo.Funktionstelle_Berechtigung.Sequenz,
|
|
dbo.Funktionstelle_Berechtigung.Beschreibung, dbo.Funktionstelle_Berechtigung.Aktiv, dbo.Funktionstelle_Berechtigung.Erstellt_am,
|
|
dbo.Funktionstelle_Berechtigung.Mutiert_am, dbo.Funktionstelle_Berechtigung.Mutierer, dbo.fnkt_get_bezeichnung(0) AS Typ,
|
|
Funktionstelle_Berechtigung.BerechtigungNr, dbo.Beziehungstyp.Bezeichnung AS Beziehungstyp
|
|
FROM dbo.Funktionstelle
|
|
INNER JOIN dbo.Funktionstelle_Berechtigung ON dbo.Funktionstelle.FunktionstelleNr = dbo.Funktionstelle_Berechtigung.FunktionstelleNr
|
|
INNER JOIN dbo.Berechtigung ON dbo.Funktionstelle_Berechtigung.BerechtigungNr = dbo.Berechtigung.BerechtigungNr
|
|
INNER JOIN
|
|
dbo.Beziehungstyp ON dbo.Funktionstelle_Berechtigung.Beziehungstypnr = dbo.Beziehungstyp.BeziehungstypNr
|
|
WHERE ( dbo.Funktionstelle.FunktionstelleNr = @keyvalue ) AND Funktionstelle_Berechtigung.aktiv=1
|
|
|
|
|
|
INSERT @tmp1 ( ID, Bezeichnung, Sequenz, beschreibung, aktiv, erstellt_am, mutiert_am, mutierer, typ, mkey,beziehungstyp )
|
|
SELECT TOP ( 100 ) PERCENT
|
|
dbo.FunktionStelle_Plattform.FunktionStelle_PlattformNr, dbo.Plattform.Bezeichnung, dbo.FunktionStelle_Plattform.Sequenz,
|
|
dbo.FunktionStelle_Plattform.Beschreibung, dbo.FunktionStelle_Plattform.Aktiv, dbo.FunktionStelle_Plattform.Erstellt_am,
|
|
dbo.FunktionStelle_Plattform.Mutiert_am, dbo.FunktionStelle_Plattform.Mutierer, dbo.fnkt_get_bezeichnung(3) AS Typ,
|
|
FunktionStelle_Plattform.PlattformNr, dbo.Beziehungstyp.Bezeichnung AS Beziehungstyp
|
|
FROM dbo.Funktionstelle
|
|
INNER JOIN dbo.FunktionStelle_Plattform ON dbo.Funktionstelle.FunktionstelleNr = dbo.FunktionStelle_Plattform.FunktionStelleNr
|
|
INNER JOIN dbo.Plattform ON dbo.FunktionStelle_Plattform.PlattformNr = dbo.Plattform.PlattformNr
|
|
INNER JOIN
|
|
dbo.Beziehungstyp ON dbo.FunktionStelle_Plattform.Beziehungstypnr = dbo.Beziehungstyp.BeziehungstypNr
|
|
WHERE ( dbo.Funktionstelle.FunktionstelleNr = @keyvalue ) AND FunktionStelle_Plattform.Aktiv=1
|
|
|
|
|
|
INSERT @tmp1 ( ID, Bezeichnung, Sequenz, beschreibung, aktiv, erstellt_am, mutiert_am, mutierer, typ, mkey,beziehungstyp )
|
|
SELECT TOP ( 100 ) PERCENT
|
|
dbo.FunktionStelle_Server.FunktionStelle_ServerNr, dbo.Server.Bezeichnung, dbo.FunktionStelle_Server.Sequenz,
|
|
dbo.FunktionStelle_Server.Beschreibung, dbo.FunktionStelle_Server.Aktiv, dbo.FunktionStelle_Server.Erstellt_am,
|
|
dbo.FunktionStelle_Server.Mutiert_am, dbo.FunktionStelle_Server.Mutierer, dbo.fnkt_get_bezeichnung(4) AS Typ,
|
|
Funktionstelle_Server.ServerNr, dbo.Beziehungstyp.Bezeichnung AS Beziehungstyp
|
|
FROM dbo.Funktionstelle
|
|
INNER JOIN dbo.FunktionStelle_Server ON dbo.Funktionstelle.FunktionstelleNr = dbo.FunktionStelle_Server.FunktionStelleNr
|
|
INNER JOIN dbo.Server ON dbo.FunktionStelle_Server.ServerNr = dbo.Server.ServerNr
|
|
INNER JOIN
|
|
dbo.Beziehungstyp ON dbo.FunktionStelle_Server.Beziehungstypnr = dbo.Beziehungstyp.BeziehungstypNr
|
|
WHERE ( dbo.Funktionstelle.FunktionstelleNr = @keyvalue ) AND Funktionstelle_Server.Aktiv=1
|
|
|
|
|
|
INSERT @tmp1 ( ID, Bezeichnung, Sequenz, beschreibung, aktiv, erstellt_am, mutiert_am, mutierer, typ, mkey,beziehungstyp )
|
|
SELECT dbo.Personal_FunktionStelle.Personal_FunktionStelleNr, dbo.Personal.TGNummer + ' ' + dbo.Personal.Name AS Bezeichnung,
|
|
dbo.Personal_FunktionStelle.Sequenz, dbo.Personal_FunktionStelle.Beschreibung, dbo.Personal_FunktionStelle.Aktiv,
|
|
dbo.Personal_FunktionStelle.Erstellt_am, dbo.Personal_FunktionStelle.Mutiert_am, dbo.Personal_FunktionStelle.Mutierer,
|
|
dbo.fnkt_get_bezeichnung(2) AS TYP, dbo.Personal.Personalnr AS MKEY, dbo.Beziehungstyp.Bezeichnung AS Beziehungstyp
|
|
FROM dbo.Personal_FunktionStelle
|
|
INNER JOIN dbo.Personal ON dbo.Personal_FunktionStelle.PersonalNr = dbo.Personal.Personalnr
|
|
INNER JOIN dbo.Funktionstelle ON dbo.Personal_FunktionStelle.FunktionStelleNr = dbo.Funktionstelle.FunktionstelleNr
|
|
INNER JOIN
|
|
dbo.Beziehungstyp ON dbo.Personal_FunktionStelle.Beziehungstypnr = dbo.Beziehungstyp.BeziehungstypNr
|
|
WHERE ( dbo.Funktionstelle.FunktionstelleNr = @keyvalue ) AND dbo.Personal_FunktionStelle.Aktiv=1
|
|
RETURN
|
|
|
|
END
|
|
|
|
|
|
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_get_hierarchie] Script Date: 13.12.2014 15:01:46 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
CREATE FUNCTION [dbo].[fnkt_get_hierarchie]
|
|
(
|
|
@startkey int
|
|
)
|
|
RETURNS @tmp1 TABLE
|
|
(
|
|
ID INT ,
|
|
Bezeichnung VARCHAR(255) ,
|
|
parentid INT,
|
|
LEVel INT
|
|
)
|
|
AS
|
|
begin
|
|
|
|
DECLARE @i INT
|
|
SET @i=0
|
|
DECLARE @pid INT
|
|
--INSERT @tmp1 (id, Bezeichnung, parentid,level) SELECT plattformnr, bezeichnung, parentid,@i FROM dbo.Plattform WHERE plattformnr=@startkey
|
|
SET @pid=@startkey
|
|
WHILE @pid>0 BEGIN
|
|
SET @i=@i+1
|
|
INSERT @tmp1 (id, Bezeichnung, parentid,level) SELECT plattformnr, bezeichnung, parentid,@i FROM dbo.Plattform WHERE plattformnr=@pid
|
|
SELECT @pid=parentid FROM dbo.Plattform WHERE plattformnr=@pid
|
|
|
|
END
|
|
INSERT @tmp1 (id, Bezeichnung, parentid,level) SELECT plattformnr, bezeichnung, parentid,@i FROM dbo.Plattform WHERE plattformnr=@pid
|
|
SELECT @pid=plattformnr FROM dbo.Plattform WHERE plattformnr=@pid
|
|
|
|
RETURN
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_get_mig_hierarchie] Script Date: 13.12.2014 15:01:46 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
CREATE FUNCTION [dbo].[fnkt_get_mig_hierarchie]
|
|
(
|
|
@startkey int
|
|
)
|
|
RETURNS @tmp1 TABLE
|
|
(
|
|
|
|
[Parent] [int] NULL,
|
|
[Parent_Bezeichnung] [nvarchar](50) NULL,
|
|
[Parent_Typ] [nvarchar](50) NULL,
|
|
[Sequenz] [int] NULL,
|
|
[ID] [int] NULL,
|
|
[Bezeichnung] [nvarchar](50) NULL,
|
|
[Typ] [nvarchar](50) NULL,
|
|
[TypNr] [int] NULL,
|
|
[Typ_Bezeichung] [nvarchar](50) NULL,
|
|
LEVEL int
|
|
|
|
)
|
|
AS
|
|
begin
|
|
|
|
DECLARE @i INT
|
|
SET @i=1
|
|
DECLARE @pid INT
|
|
DECLARE @rc INT
|
|
|
|
INSERT @tmp1 SELECT *,1 FROM dbo.BAA_SHU_Extrakt_Beziehungen WHERE id=@startkey AND typnr=-1
|
|
SELECT @pid = parent FROM dbo.BAA_SHU_Extrakt_Beziehungen WHERE id=@startkey AND typnr=-1
|
|
WHILE @pid>0 BEGIN
|
|
SET @i=@i+1
|
|
SELECT @rc=COUNT(*) FROM dbo.BAA_SHU_Extrakt_Beziehungen WHERE id=@pid AND typnr=-1
|
|
IF @rc>0 BEGIN
|
|
INSERT @tmp1 SELECT *, @i FROM dbo.BAA_SHU_Extrakt_Beziehungen WHERE id=@pid AND typnr=-1
|
|
SELECT @pid=parent FROM dbo.BAA_SHU_Extrakt_Beziehungen WHERE id=@pid AND typnr=-1
|
|
END ELSE BEGIN
|
|
SET @pid=0
|
|
end
|
|
end
|
|
RETURN
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_get_Report_Data] Script Date: 13.12.2014 15:01:46 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
CREATE FUNCTION [dbo].[fnkt_get_Report_Data]
|
|
(
|
|
@ifnr int
|
|
)
|
|
RETURNS
|
|
@t2 TABLE
|
|
(
|
|
funktionsnummer VARCHAR(255) ,
|
|
funktionsbezeichnung VARCHAR(255) ,
|
|
plattform VARCHAR(255) ,
|
|
verwaltungmit VARCHAR(255) ,
|
|
verwaltungdurch VARCHAR(255) ,
|
|
berechtigungIn VARCHAR(255) ,
|
|
berechtigungfuer VARCHAR(255) ,
|
|
eigentuemer VARCHAR(255)
|
|
|
|
)
|
|
AS
|
|
BEGIN
|
|
declare @t1 TABLE
|
|
(
|
|
funktionsnummer VARCHAR(255) ,
|
|
funktionsbezeichnung VARCHAR(255) ,
|
|
plattform VARCHAR(255) ,
|
|
verwaltungmit VARCHAR(255) ,
|
|
verwaltungdurch VARCHAR(255) ,
|
|
berechtigungIn VARCHAR(255) ,
|
|
berechtigungfuer VARCHAR(255) ,
|
|
eigentuemer VARCHAR(255),
|
|
skey int identity
|
|
)
|
|
|
|
DECLARE @fstelle VARCHAR(255)
|
|
DECLARE @fnr INT
|
|
DECLARE @fbezeichnung VARCHAR(255)
|
|
DECLARE @fnummer VARCHAR(255)
|
|
DECLARE @parent INT
|
|
|
|
DECLARE @tmp1 TABLE
|
|
(
|
|
ID INT ,
|
|
Bezeichnung VARCHAR(255) ,
|
|
Beschreibung VARCHAR(255) ,
|
|
Sequenz INT ,
|
|
aktiv BIT ,
|
|
erstellt_am DATETIME ,
|
|
mutiert_am DATETIME ,
|
|
mutierer INT ,
|
|
typ VARCHAR(255) ,
|
|
MKey INT,
|
|
Berechtigungstyp VARCHAR(255)
|
|
)
|
|
|
|
SELECT TOP 1
|
|
@fnr = FunktionstelleNr, @fbezeichnung = bezeichnung, @fstelle = funktionsstelle, @fnummer = Funktionsstelle, @parent = ParentID
|
|
FROM funktionstelle
|
|
WHERE funktionstellenr = @ifnr
|
|
|
|
|
|
INSERT @tmp1
|
|
SELECT *
|
|
FROM dbo.fnkt_funktionstelle_beziehung_reporting(@fnr)
|
|
|
|
DELETE FROM @tmp1
|
|
WHERE typ <> 'Berechtigung'
|
|
AND typ <> 'Plattform'
|
|
|
|
|
|
DECLARE @bez VARCHAR(255)
|
|
DECLARE @key INT
|
|
DECLARE @typ VARCHAR(255)
|
|
DECLARE @key1 INT
|
|
DECLARE @bez1 VARCHAR(255)
|
|
DECLARE @btyp VARCHAR(255)
|
|
DECLARE @skey int
|
|
DECLARE @funktionsnummer VARCHAR(255) ,
|
|
@funktionsbezeichnung VARCHAR(255) ,
|
|
@verwaltungdurch VARCHAR(255) ,
|
|
@plattform VARCHAR(255) ,
|
|
@verwaltungmit VARCHAR(255) ,
|
|
@berechtigungIn VARCHAR(255) ,
|
|
@berechtigungfuer VARCHAR(255) ,
|
|
@eigentuemer VARCHAR(255),
|
|
@seq int
|
|
|
|
DECLARE xc CURSOR
|
|
FOR
|
|
SELECT bezeichnung, mkey, TYP, Berechtigungstyp
|
|
FROM @tmp1
|
|
OPEN xc
|
|
FETCH NEXT FROM xc INTO @bez, @key, @typ, @btyp
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
SET @funktionsnummer = @fnummer
|
|
SET @funktionsbezeichnung = @fbezeichnung
|
|
SET @berechtigungfuer = @fbezeichnung
|
|
|
|
-- Rollenberechtigung
|
|
IF UPPER(@typ) = 'BERECHTIGUNG' AND UPPER(@btyp) = 'ROLLENBERECHTIGUNG' BEGIN
|
|
SET @plattform=''
|
|
SET @berechtigungfuer=''
|
|
SET @berechtigungin=''
|
|
DECLARE xx CURSOR FOR
|
|
SELECT plattformnr FROM dbo.Berechtigung_Plattform WHERE BerechtigungNr=@key
|
|
OPEN xx
|
|
FETCH NEXT FROM xx INTO @key
|
|
WHILE @@FETCH_STATUS=0 begin
|
|
SELECT TOP 1
|
|
@plattform = bezeichnung
|
|
FROM dbo.fnkt_get_hierarchie(@key)
|
|
WHERE level > 0
|
|
ORDER BY LEVEL DESC
|
|
|
|
SELECT TOP 1
|
|
@berechtigungfuer = bezeichnung
|
|
FROM dbo.fnkt_get_hierarchie(@key)
|
|
WHERE level = 1
|
|
SELECT TOP 1
|
|
@berechtigungin = bezeichnung
|
|
FROM dbo.fnkt_get_hierarchie(@key)
|
|
WHERE parentid > 0 ORDER BY level desc
|
|
IF @@ROWCOUNT = 0
|
|
SET @berechtigungin = @berechtigungfuer
|
|
|
|
DECLARE xa CURSOR
|
|
FOR
|
|
SELECT dbo.Verwaltung_durch_Plattform.Verwaltung_durch_plattformNr, Sequenz
|
|
FROM dbo.Verwaltung_durch_Plattform
|
|
WHERE aktiv = 1
|
|
AND plattformnr = @key
|
|
OPEN xa
|
|
FETCH NEXT FROM xa INTO @key1,@seq
|
|
WHILE @@fetch_status = 0
|
|
BEGIN
|
|
SET @verwaltungdurch=''
|
|
SET @verwaltungmit=''
|
|
SET @eigentuemer=''
|
|
SELECT @verwaltungdurch = dbo.Verwaltung_durch.Bezeichnung
|
|
FROM dbo.Verwaltung_durch_Plattform
|
|
INNER JOIN dbo.Verwaltung_durch ON dbo.Verwaltung_durch_Plattform.Verwaltung_DurchNr = dbo.Verwaltung_durch.Verwaltung_durchNr
|
|
WHERE Verwaltung_Durch_PlattformNr=@key1
|
|
|
|
SELECT @verwaltungmit = dbo.Verwaltung_mit.Bezeichnung
|
|
FROM dbo.Verwaltung_Mit_Plattform
|
|
INNER JOIN dbo.Verwaltung_mit ON dbo.Verwaltung_Mit_Plattform.Verwaltung_MitNr = dbo.Verwaltung_mit.Verwaltung_mitNr
|
|
WHERE PlattformNr = @key
|
|
|
|
SELECT @eigentuemer = ISNULL(dbo.Personal.TGNummer + ' ' + dbo.Personal.Name,'')
|
|
FROM dbo.Personal_Plattform
|
|
INNER JOIN dbo.Personal ON dbo.Personal_Plattform.PersonalNr = dbo.Personal.Personalnr
|
|
WHERE plattformnr = @key AND (dbo.Personal_Plattform.beziehungstypnr=-31 OR dbo.Personal_Plattform.beziehungstypnr=-30)
|
|
IF @@ROWCOUNT=0 SET @eigentuemer=''
|
|
|
|
INSERT @t1 ( funktionsnummer, funktionsbezeichnung, plattform, verwaltungmit, verwaltungdurch, berechtigungIn,
|
|
berechtigungfuer, eigentuemer )
|
|
VALUES ( @funktionsnummer, @funktionsbezeichnung, @plattform, @verwaltungmit, @verwaltungdurch, @berechtigungIn,
|
|
@berechtigungfuer, @eigentuemer )
|
|
|
|
FETCH NEXT FROM xa INTO @key1,@seq
|
|
END
|
|
CLOSE xa
|
|
DEALLOCATE xa
|
|
FETCH NEXT FROM xx INTO @key
|
|
END
|
|
CLOSE xx
|
|
DEALLOCATE xx
|
|
END
|
|
|
|
|
|
|
|
IF UPPER(@typ) = 'BERECHTIGUNG' AND UPPER(@btyp) <> 'ROLLENBERECHTIGUNG'
|
|
BEGIN
|
|
SET @plattform=''
|
|
SET @berechtigungfuer=''
|
|
SET @berechtigungin=''
|
|
SET @verwaltungmit=''
|
|
SET @verwaltungdurch=''
|
|
SET @eigentuemer=''
|
|
|
|
SELECT @key1 = ParentID, @berechtigungfuer = bezeichnung
|
|
FROM dbo.Berechtigung
|
|
WHERE berechtigungnr = @key
|
|
|
|
SELECT @key1 = ParentID, @berechtigungIn = bezeichnung
|
|
FROM dbo.Berechtigung
|
|
WHERE berechtigungnr = @key1
|
|
|
|
SELECT @plattform = bezeichnung
|
|
FROM dbo.Berechtigung
|
|
WHERE Berechtigungnr = @key1
|
|
|
|
SELECT @verwaltungdurch = dbo.Verwaltung_durch.Bezeichnung
|
|
FROM dbo.Verwaltung_durch_Berechtigung
|
|
INNER JOIN dbo.Verwaltung_durch ON dbo.Verwaltung_durch_Berechtigung.Verwaltung_DurchNr = dbo.Verwaltung_durch.Verwaltung_durchNr
|
|
WHERE BerechtigungNr = @key
|
|
|
|
SELECT @verwaltungmit = dbo.Verwaltung_mit.Bezeichnung
|
|
FROM dbo.Verwaltung_Mit_Berechtigung
|
|
INNER JOIN dbo.Verwaltung_mit ON dbo.Verwaltung_Mit_Berechtigung.Verwaltung_MitNr = dbo.Verwaltung_mit.Verwaltung_mitNr
|
|
WHERE Berechtigungnr = @key
|
|
|
|
SELECT @eigentuemer = ISNULL(dbo.Personal.TGNummer + ' ' + dbo.Personal.Name,'')
|
|
FROM dbo.Personal_berechtigung
|
|
INNER JOIN dbo.Personal ON dbo.Personal_berechtigung.PersonalNr = dbo.Personal.Personalnr
|
|
WHERE berechtigungnr = @key AND (dbo.Personal_Berechtigung.beziehungstypnr=-31 OR dbo.Personal_Berechtigung.beziehungstypnr=-30)
|
|
IF @@ROWCOUNT = 0 SET @eigentuemer=''
|
|
END
|
|
|
|
IF UPPER(@typ) = 'PLATTFORM'
|
|
BEGIN
|
|
SET @plattform=''
|
|
SET @berechtigungfuer=''
|
|
SET @berechtigungin=''
|
|
|
|
SELECT TOP 1
|
|
@plattform = bezeichnung
|
|
FROM dbo.fnkt_get_hierarchie(@key)
|
|
WHERE level > 0
|
|
ORDER BY LEVEL DESC
|
|
|
|
SELECT TOP 1
|
|
@berechtigungfuer = bezeichnung
|
|
FROM dbo.fnkt_get_hierarchie(@key)
|
|
WHERE level = 1
|
|
SELECT TOP 1
|
|
@berechtigungin = bezeichnung
|
|
FROM dbo.fnkt_get_hierarchie(@key)
|
|
WHERE level = 2 ORDER BY level asc
|
|
--WHERE parentid > 0 ORDER BY level desc
|
|
IF @@ROWCOUNT = 0
|
|
SET @berechtigungin = @berechtigungfuer
|
|
|
|
DECLARE xa CURSOR
|
|
FOR
|
|
SELECT dbo.Verwaltung_durch_Plattform.Verwaltung_durch_plattformNr
|
|
FROM dbo.Verwaltung_durch_Plattform
|
|
WHERE aktiv = 1
|
|
AND plattformnr = @key
|
|
OPEN xa
|
|
FETCH NEXT FROM xa INTO @key1
|
|
WHILE @@fetch_status = 0
|
|
BEGIN
|
|
SET @verwaltungmit=''
|
|
SET @verwaltungdurch=''
|
|
SET @eigentuemer=''
|
|
|
|
SELECT @verwaltungdurch = dbo.Verwaltung_durch.Bezeichnung
|
|
FROM dbo.Verwaltung_durch_Plattform
|
|
INNER JOIN dbo.Verwaltung_durch ON dbo.Verwaltung_durch_Plattform.Verwaltung_DurchNr = dbo.Verwaltung_durch.Verwaltung_durchNr
|
|
WHERE Verwaltung_Durch_PlattformNr=@key1
|
|
|
|
SELECT @verwaltungmit = dbo.Verwaltung_mit.Bezeichnung
|
|
FROM dbo.Verwaltung_Mit_Plattform
|
|
INNER JOIN dbo.Verwaltung_mit ON dbo.Verwaltung_Mit_Plattform.Verwaltung_MitNr = dbo.Verwaltung_mit.Verwaltung_mitNr
|
|
WHERE PlattformNr = @key
|
|
|
|
SELECT @eigentuemer = ISNULL(dbo.Personal.TGNummer + ' ' + dbo.Personal.Name,'')
|
|
FROM dbo.Personal_Plattform
|
|
INNER JOIN dbo.Personal ON dbo.Personal_Plattform.PersonalNr = dbo.Personal.Personalnr
|
|
WHERE plattformnr = @key AND (dbo.Personal_Plattform.beziehungstypnr=-31 OR dbo.Personal_Plattform.beziehungstypnr=-30)
|
|
IF @@ROWCOUNT=0 SET @eigentuemer=''
|
|
|
|
INSERT @t1 ( funktionsnummer, funktionsbezeichnung, plattform, verwaltungmit, verwaltungdurch, berechtigungIn,
|
|
berechtigungfuer, eigentuemer )
|
|
VALUES ( @funktionsnummer, @funktionsbezeichnung, @plattform, @verwaltungmit, @verwaltungdurch, @berechtigungIn,
|
|
@berechtigungfuer, @eigentuemer )
|
|
|
|
FETCH NEXT FROM xa INTO @key1
|
|
END
|
|
CLOSE xa
|
|
DEALLOCATE xa
|
|
END
|
|
|
|
IF UPPER(@typ) = 'ORGANISATION'
|
|
BEGIN
|
|
SET @plattform=''
|
|
SET @verwaltungdurch=''
|
|
SET @eigentuemer=''
|
|
|
|
SELECT @key1 = ParentID, @berechtigungfuer = bezeichnung
|
|
FROM dbo.Funktionstelle
|
|
WHERE Funktionstellenr = @key
|
|
|
|
SELECT @key1 = ParentID, @berechtigungIn = bezeichnung
|
|
FROM dbo.Funktionstelle
|
|
WHERE Funktionstellenr = @key1
|
|
|
|
SELECT @plattform = bezeichnung
|
|
FROM dbo.Funktionstelle
|
|
WHERE funktionstellenr = @key1
|
|
|
|
|
|
SELECT @verwaltungdurch = dbo.Verwaltung_durch.Bezeichnung
|
|
FROM dbo.Verwaltung_durch_Plattform
|
|
INNER JOIN dbo.Verwaltung_durch ON dbo.Verwaltung_durch_Plattform.Verwaltung_DurchNr = dbo.Verwaltung_durch.Verwaltung_durchNr
|
|
WHERE PlattformNr = @key
|
|
|
|
SET @verwaltungmit = ''
|
|
SET @verwaltungdurch = ''
|
|
|
|
--SELECT @verwaltungmit = dbo.Verwaltung_mit.Bezeichnung
|
|
--FROM dbo.Verwaltung_Mit_Plattform
|
|
-- INNER JOIN dbo.Verwaltung_mit ON dbo.Verwaltung_Mit_Plattform.Verwaltung_MitNr = dbo.Verwaltung_mit.Verwaltung_mitNr
|
|
--WHERE PlattformNr = @key
|
|
|
|
--SELECT @eigentuemer = dbo.Personal.TGNummer + ' ' + dbo.Personal.Name
|
|
--FROM dbo.Personal_Plattform
|
|
-- INNER JOIN dbo.Personal ON dbo.Personal_Plattform.PersonalNr = dbo.Personal.Personalnr
|
|
--WHERE plattformnr = @key
|
|
|
|
END
|
|
INSERT @t1 ( funktionsnummer, funktionsbezeichnung, plattform, verwaltungmit, verwaltungdurch, berechtigungIn, berechtigungfuer,
|
|
eigentuemer )
|
|
VALUES ( @funktionsnummer, @funktionsbezeichnung, @plattform, @verwaltungmit, @verwaltungdurch, @berechtigungIn, @berechtigungfuer,
|
|
@eigentuemer )
|
|
|
|
FETCH NEXT FROM xc INTO @bez, @key, @typ, @btyp
|
|
END
|
|
INSERT @t1 ( funktionsnummer, funktionsbezeichnung, plattform, verwaltungmit, verwaltungdurch, berechtigungIn, berechtigungfuer, eigentuemer )
|
|
VALUES ( @funktionsnummer, @funktionsbezeichnung, @plattform, @verwaltungmit, @verwaltungdurch, @berechtigungIn, @berechtigungfuer, @eigentuemer )
|
|
|
|
|
|
|
|
CLOSE xc
|
|
DEALLOCATE xc
|
|
|
|
|
|
DECLARE @b VARCHAR(255)
|
|
DECLARE @s VARCHAR(255)
|
|
DECLARE @x VARCHAR(255)
|
|
DECLARE xc CURSOR for
|
|
select berechtigungfuer, skey FROM @t1
|
|
OPEN xc
|
|
FETCH NEXT FROM xc INTO @b,@s
|
|
WHILE @@FETCH_STATUS=0 BEGIN
|
|
SELECT @x=dbo.fnkt_get_parent(@b,'Plattform')
|
|
IF @x<>'' BEGIN
|
|
UPDATE @t1 SET berechtigungin=@x WHERE skey=@s
|
|
end
|
|
FETCH NEXT FROM xc INTO @b,@s
|
|
END
|
|
CLOSE xc
|
|
DEALLOCATE xc
|
|
|
|
insert @t2 select
|
|
funktionsnummer,
|
|
funktionsbezeichnung,
|
|
plattform ,
|
|
verwaltungmit ,
|
|
verwaltungdurch ,
|
|
berechtigungIn,
|
|
berechtigungfuer ,
|
|
eigentuemer
|
|
from @t1 order by skey
|
|
|
|
RETURN
|
|
END
|
|
|
|
|
|
|
|
|
|
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_get_tgdata_Data] Script Date: 13.12.2014 15:01:46 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
CREATE FUNCTION [dbo].[fnkt_get_tgdata_Data]
|
|
(
|
|
@itgnummer VARCHAR(255)
|
|
)
|
|
RETURNS
|
|
@t1 TABLE
|
|
(
|
|
funktionsnummer VARCHAR(255) ,
|
|
funktionsbezeichnung VARCHAR(255) ,
|
|
plattform VARCHAR(255) ,
|
|
verwaltungmit VARCHAR(255) ,
|
|
verwaltungdurch VARCHAR(255) ,
|
|
berechtigungIn VARCHAR(255) ,
|
|
berechtigungfuer VARCHAR(255) ,
|
|
eigentuemer VARCHAR(255)
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
DECLARE @fstelle VARCHAR(255)
|
|
DECLARE @fnr INT
|
|
DECLARE @fbezeichnung VARCHAR(255)
|
|
DECLARE @fnummer VARCHAR(255)
|
|
DECLARE @parent INT
|
|
|
|
DECLARE @tgtmp1 TABLE
|
|
(
|
|
ID INT ,
|
|
Bezeichnung VARCHAR(255) ,
|
|
Beschreibung VARCHAR(255) ,
|
|
Sequenz INT ,
|
|
aktiv BIT ,
|
|
erstellt_am DATETIME ,
|
|
mutiert_am DATETIME ,
|
|
mutierer INT ,
|
|
typ VARCHAR(255) ,
|
|
MKey INT,
|
|
Berechtigungstyp VARCHAR(255)
|
|
)
|
|
|
|
DECLARE @tgt1 TABLE
|
|
(
|
|
funktionsnummer VARCHAR(255) ,
|
|
funktionsbezeichnung VARCHAR(255) ,
|
|
plattform VARCHAR(255) ,
|
|
verwaltungmit VARCHAR(255) ,
|
|
verwaltungdurch VARCHAR(255) ,
|
|
berechtigungIn VARCHAR(255) ,
|
|
berechtigungfuer VARCHAR(255) ,
|
|
eigentuemer VARCHAR(255)
|
|
)
|
|
|
|
DECLARE @sql VARCHAR(4096)
|
|
|
|
DECLARE @tgtmp TABLE ( fstelle VARCHAR(255) )
|
|
|
|
INSERT @tgtmp
|
|
SELECT dbo.Funktionstelle.Funktionsstelle
|
|
FROM dbo.Personal INNER JOIN
|
|
dbo.Personal_FunktionStelle ON dbo.Personal.Personalnr = dbo.Personal_FunktionStelle.PersonalNr INNER JOIN
|
|
dbo.Funktionstelle ON dbo.Personal_FunktionStelle.FunktionStelleNr = dbo.Funktionstelle.FunktionstelleNr
|
|
WHERE funktionstelle.aktiv=1 and personal_funktionstelle.aktiv=1 and tgnummer = @itgnummer
|
|
|
|
|
|
|
|
DECLARE xx CURSOR
|
|
FOR
|
|
SELECT fstelle
|
|
FROM @tgtmp
|
|
OPEN xx
|
|
FETCH NEXT FROM xx INTO @fnummer
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
SELECT @fnr = funktionstellenr
|
|
FROM funktionstelle
|
|
WHERE funktionsstelle = @fnummer
|
|
|
|
INSERT @tgt1 SELECT DISTINCT * FROM dbo.fnkt_get_Report_Data(@fnr)
|
|
FETCH NEXT FROM xx INTO @fnummer
|
|
END
|
|
CLOSE xx
|
|
DEALLOCATE xx
|
|
|
|
DECLARE @tg VARCHAR(255)
|
|
DECLARE @name VARCHAR(255)
|
|
|
|
DECLARE @tgtg TABLE
|
|
(
|
|
tgnummer VARCHAR(255) ,
|
|
NAME VARCHAR(255)
|
|
)
|
|
|
|
INSERT @tgtg
|
|
SELECT dbo.Personal.TGNummer, dbo.personal.name
|
|
FROM dbo.Personal
|
|
WHERE tgnummer=@itgnummer
|
|
|
|
UPDATE @tgt1
|
|
SET funktionsnummer = tgnummer, funktionsbezeichnung = name
|
|
FROM @tgtg
|
|
INSERT @t1
|
|
SELECT DISTINCT *
|
|
FROM @tgt1
|
|
ORDER BY verwaltungdurch, plattform, verwaltungmit
|
|
|
|
|
|
|
|
RETURN
|
|
END
|
|
|
|
|
|
|
|
|
|
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_split] Script Date: 13.12.2014 15:01:46 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
CREATE FUNCTION [dbo].[fnkt_split]
|
|
(
|
|
@sInputList varchar(8000) -- List of delimited items
|
|
, @Delimiter char(2) = ',' -- delimiter that separates items
|
|
, @Delimiterlength INT = 1
|
|
|
|
)
|
|
RETURNS @tmp1 TABLE (item varchar(8000))
|
|
|
|
AS
|
|
begin
|
|
|
|
DECLARE @Item VARCHAR(8000)
|
|
|
|
WHILE CHARINDEX(@Delimiter, @sInputList, 0) <> 0
|
|
BEGIN
|
|
SELECT @Item = RTRIM(LTRIM(SUBSTRING(@sInputList, 1, CHARINDEX(@Delimiter, @sInputList, 0) - 1))),
|
|
@sInputList = RTRIM(LTRIM(SUBSTRING(@sInputList, CHARINDEX(@Delimiter, @sInputList, 0) + @Delimiterlength, LEN(@sInputList))))
|
|
IF LEN(@Item) > 0
|
|
INSERT INTO @tmp1
|
|
SELECT @Item
|
|
END
|
|
|
|
IF LEN(@sInputList) > 0
|
|
INSERT INTO @tmp1
|
|
SELECT @sInputList
|
|
|
|
RETURN
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[fnkt_split_1] Script Date: 13.12.2014 15:01:46 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
Create FUNCTION [dbo].[fnkt_split_1]
|
|
(
|
|
@sInputList varchar(8000) -- List of delimited items
|
|
, @Delimiter char(1) = ',' -- delimiter that separates items
|
|
, @Delimiterlength INT = 1
|
|
|
|
)
|
|
RETURNS @tmp1 TABLE (item varchar(8000))
|
|
|
|
AS
|
|
begin
|
|
|
|
DECLARE @Item VARCHAR(8000)
|
|
|
|
WHILE CHARINDEX(@Delimiter, @sInputList, 0) <> 0
|
|
BEGIN
|
|
SELECT @Item = RTRIM(LTRIM(SUBSTRING(@sInputList, 1, CHARINDEX(@Delimiter, @sInputList, 0) - 1))),
|
|
@sInputList = RTRIM(LTRIM(SUBSTRING(@sInputList, CHARINDEX(@Delimiter, @sInputList, 0) + @Delimiterlength, LEN(@sInputList))))
|
|
IF LEN(@Item) > 0
|
|
INSERT INTO @tmp1
|
|
SELECT @Item
|
|
END
|
|
|
|
IF LEN(@sInputList) > 0
|
|
INSERT INTO @tmp1
|
|
SELECT @sInputList
|
|
|
|
RETURN
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
GO
|
|
|