dbo.QBM_FCVGuidToReplaceMax
Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB
Interpretation
- Database function. Usually supports views, validation, or calculated predicates; look at referenced-by entries for callers.
Relations
- No extracted relations.
Typed Edges
- No typed edges extracted for this source.
Complete Source
1CREATE FUNCTION dbo.QBM_FCVGuidToReplaceMax(2 @Value nvarchar(max),3 @UID_Database varchar(38)4) RETURNS nvarchar(max5)6AS7BEGIN8 DECLARE @erg nvarchar(max)9 DECLARE @valNew varchar(38)10 DECLARE @valOld varchar(38)11 DECLARE @lauf int = 112 DECLARE @i int = 113 SELECT @erg = @Value14 IF @erg > ' '15 BEGIN16 GOTO start17 END18 GOTO endLabel start:19 IF @erg NOT LIKE '%[a-z][0-9a-z][0-9a-z][_][0-9a-z]%' AND @erg NOT LIKE '%[a-z][0-9a-z][0-9a-z]-[0-9a-z]%' AND @erg NOT LIKE '%[0-9a-f][0-9a-f][0-9a-f][0-9a-f]-[0-9a-f][0-9a-f][0-9a-f][0-9a-f]%'20 BEGIN21 GOTO endlabel22 END23 WHILE @lauf > 0 AND LEN(@erg) >(@i* 36 -1)24 BEGIN25 SELECT @valNew = NULL26 SELECT27 TOP 1 @valNew = r.GuidNew,28 @valOld = r.GuidOld29 FROM dbo.QBMGuidReplace r30 WHERE31 CHARINDEX(r.guidold,32 @erg) > 0 AND r.UID_Database = @UID_Database33 IF @valNew > ' '34 BEGIN35 SELECT36 @erg = REPLACE(@erg,37 @valOld,38 @valNew)39 END40 ELSE41 BEGIN42 SELECT @lauf = 043 END44 SELECT @i += 145 END46 endLabel:47 RETURN(@erg)48END
Open raw exported source
1 create function dbo.QBM_FCVGuidToReplaceMax(@Value nvarchar(max) ,@UID_Database varchar(38) ) returns nvarchar(max) as begin declare @erg2 nvarchar(max) declare @valNew varchar(38) declare @valOld varchar(38) declare @lauf int = 1 declare @i int = 1 select @erg = @Value if @erg > ' ' begin3 goto start end goto endLabel start: if @erg not like '%[a-z][0-9a-z][0-9a-z][_][0-9a-z]%' and @erg not like '%[a-z][0-9a-z][0-9a-z]-[0-9a-z]%' and @erg4 not like '%[0-9a-f][0-9a-f][0-9a-f][0-9a-f]-[0-9a-f][0-9a-f][0-9a-f][0-9a-f]%' begin goto endlabel end while @lauf > 0 and LEN(@erg) > (@i* 36 -1 ) 5begin select @valNew = null select top 1 @valNew = r.GuidNew ,@valOld = r.GuidOld from dbo.QBMGuidReplace r where CHARINDEX(r.guidold, @erg) > 0 and r.UID_Database6 = @UID_Database if @valNew > ' ' begin select @erg = REPLACE(@erg, @valOld, @valNew) end else begin select @lauf = 0 end select @i += 1 end endLabel:7 return(@erg) end 8