Back to OIM Explorer

dbo.QBM_FCVGuidToReplaceMax

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function.

Source: sandbox-db sys.sql_modules

Source size: 950 characters

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.

References

  • No direct source references extracted.

Referenced By

Complete Source

SQL48 lines
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
SQL ยท Raw8 lines
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