Back to OIM Explorer

dbo.QBM_FCVRelationMVPToFKDollar

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function.

Source: sandbox-db sys.sql_modules

Source size: 887 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

  • No direct source references extracted.

Complete Source

SQL43 lines
1CREATE FUNCTION dbo.QBM_FCVRelationMVPToFKDollar(2  @RelationMVP varchar(1024)3) RETURNS varchar(10244)5AS6BEGIN7  DECLARE @erg varchar(1024)8  DECLARE @relations TABLE(SortOrder int identity,9  UID_QBMRelation varchar(38) collate database_default,10  Portion varchar(1024) collate database_default)11  DECLARE @anzahlElemente int12  INSERT INTO @relations(UID_QBMRelation)13  SELECT s.value14  FROM string_split(@RelationMVP,15  char(7)) s16  SELECT @anzahlElemente = @@ROWCOUNT17  UPDATE @relations18  SET Portion = CASE19  WHEN w.SortOrder = @anzahlElemente THEN20  r.ChildColumn21  ELSE CONCAT('FK(',22  r.ChildColumn,23  ')')24  END25  FROM @relations w26  JOIN QBM_VQBMRelation r27    ON w.UID_QBMRelation = r.UID_QBMRelation28  IF @@ROWCOUNT = 029  BEGIN30    SELECT @erg = @RelationMVP31  END32  ELSE33  BEGIN34    SELECT35      @erg = STRING_AGG(r.Portion,36      '.') within37      GROUP(38    ORDER BY(r.Sortorder))39    FROM @relations r40  END41  endLabel:42  RETURN(@erg)43END
Open raw exported source
SQL ยท Raw7 lines
1      create   function dbo.QBM_FCVRelationMVPToFKDollar (@RelationMVP varchar(1024) ) returns varchar(1024) as begin declare @erg varchar(1024)2 declare @relations table (SortOrder int identity , UID_QBMRelation varchar(38) collate database_default , Portion varchar(1024) collate database_default3 ) declare @anzahlElemente int insert into @relations(UID_QBMRelation) select s.value from string_split(@RelationMVP, char(7)) s select @anzahlElemente4 = @@ROWCOUNT update @relations set Portion = case when w.SortOrder = @anzahlElemente then r.ChildColumn else concat('FK(', r.ChildColumn, ')') end from5 @relations w join QBM_VQBMRelation r on w.UID_QBMRelation = r.UID_QBMRelation if @@ROWCOUNT = 0  begin select @erg = @RelationMVP  end else begin select6 @erg = STRING_AGG(r.Portion, '.') within group(order by (r.Sortorder)) from @relations r end endLabel: return( @erg) end 7