UFN_DECRYPT_XMLTOTEXT

Return

Return Type
nvarchar(max)

Parameters

Parameter Parameter Type Mode Description
@XML xml IN

Definition

Copy


        CREATE function dbo.UFN_DECRYPT_XMLTOTEXT
        (
            @XML xml
        )
        returns nvarchar(max)
        as
        begin
            declare @DECRYPTEDDATA nvarchar(max);
            declare @SEGMENTSTABLE table (LINE int, ENCRYPTEDTEXT varbinary(max), PLAINTTEXT nvarchar(max));

            insert into @SEGMENTSTABLE (LINE, ENCRYPTEDTEXT, PLAINTTEXT)
            select t.c.value('@sequence[1]', 'int'), t.c.value('.[1]', 'varbinary(max)'), null
            from @XML.nodes('/segments/segment') t(c);

            update @SEGMENTSTABLE set PLAINTTEXT = convert(nvarchar(max), DecryptByKey(ENCRYPTEDTEXT));

            select @DECRYPTEDDATA = coalesce(@DECRYPTEDDATA, '') + PLAINTTEXT
            from @SEGMENTSTABLE
            order by LINE;

        return @DECRYPTEDDATA;
        end