UFN_NFGLEVEL_GETFULLPATHNAME
Return
| Return Type |
|---|
| nvarchar(500) |
Parameters
| Parameter | Parameter Type | Mode | Description |
|---|---|---|---|
| @ID | uniqueidentifier | IN | |
| @SEPARATOR | nvarchar(10) | IN | |
| @CONTAINNFGNAME | bit | IN |
Definition
Copy
CREATE function dbo.UFN_NFGLEVEL_GETFULLPATHNAME
(
@ID uniqueidentifier,
@SEPARATOR nvarchar(10) = null,
@CONTAINNFGNAME bit = 0
)
returns nvarchar(500)
with execute as caller
as begin
declare @NFGCAMPAIGNID uniqueidentifier,
@CURRENTPATH hierarchyid,
@ROOTPATH hierarchyid,
@FULLNAME nvarchar(500) = '',
@TEMPNAME nvarchar(50);
if @SEPARATOR is null
set @SEPARATOR = '/'
select @CURRENTPATH = HIERARCHYPATH, @NFGCAMPAIGNID = NFGCAMPAIGNID from FAFNFGCAMPAIGNLEVEL where ID = @ID
select @ROOTPATH = MIN(HIERARCHYPATH) from FAFNFGCAMPAIGNLEVEL where NFGCAMPAIGNID = @NFGCAMPAIGNID
while @CURRENTPATH is not null and @CURRENTPATH.GetLevel() > 0 and (@CURRENTPATH <> @ROOTPATH or @CONTAINNFGNAME = 1)
begin
select @TEMPNAME = NAME from FAFNFGCAMPAIGNLEVEL where HIERARCHYPATH = @CURRENTPATH
if @FULLNAME = ''
set @FULLNAME = @TEMPNAME
else
set @FULLNAME = @TEMPNAME + @SEPARATOR + @FULLNAME
set @CURRENTPATH = @CURRENTPATH.GetAncestor(1)
end
return @FULLNAME
end