Back to OIM Explorer

dbo.QBM_FSQCEFJoin

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function.

Source: sandbox-db sys.sql_modules

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

SQL64 lines
1CREATE FUNCTION dbo.QBM_FSQCEFJoin(2  @Tablename varchar(30),3  @ParameterDef varchar(64),4  @Alias varchar(16),5  @JoinAlias varchar(16)6) RETURNS nvarchar(max7)8AS9BEGIN10  DECLARE @JoinCondition nvarchar(max) = ''11  DECLARE @Parenttable varchar(30)12  DECLARE @ParentColumn varchar(30)13  DECLARE @isForeignKey BIT = 014  DECLARE @ColumnName varchar(30) = NULL15  DECLARE @SchemaDatatype varchar(64) = NULL16  SELECT17    TOP 1 @ColumnName = c.ColumnName,18    @SchemaDatatype = c.SchemaDataType,19    @isForeignKey = c.IsForeignKey20  FROM DialogColumn c21  JOIN DialogTable t22    ON c.UID_DialogTable = t.UID_DialogTable23  WHERE24    c.ColumnName = replace(replace(replace(@ParameterDef, '$', ''), '[D]', ''),25  '[O]',26  '') AND t.Tablename = @Tablename27  IF @ParameterDef LIKE '%[[]O]%'28  BEGIN29    SELECT @Alias = 'old'30  END31  IF @isForeignKey = 132  BEGIN33    SELECT34      TOP 1 @Parenttable = isnull(rb.ParentTable,35      ra.ParentTable),36      @ParentColumn = isnull(rb.ParentColumn,37      ra.ParentColumn),38      @ColumnName = ISNULL(rb.childColumn,39      ra.ChildColumn)40    FROM QBM_VQBMRelation ra41    LEFT42    OUTER43    JOIN QBM_VQBMRelation rb44      ON ra.UID_QBMRelationBase = rb.UID_QBMRelation45    WHERE46      ra.ChildTable = @Tablename AND ra.ChildColumn = @ColumnName47    SELECT48      @JoinCondition = CONCAT(' left outer join ',49      @Parenttable,50      ' ',51      @JoinAlias,52      ' on ',53      @Alias,54      '.',55      @ColumnName,56      ' = ',57      @JoinAlias,58      '.',59      @ParentColumn,60      char(13),61      char(10))62  END63  RETURN(@JoinCondition)64END
Open raw exported source
SQL ยท Raw10 lines
1    create   function dbo.QBM_FSQCEFJoin(@Tablename varchar(30) , @ParameterDef varchar(64) , @Alias varchar(16) , @JoinAlias varchar(16)  ) returns2 nvarchar(max) as begin declare @JoinCondition nvarchar(max) = '' declare @Parenttable varchar(30) declare @ParentColumn varchar(30) declare @isForeignKey3 bit = 0 declare @ColumnName varchar(30) = null declare @SchemaDatatype varchar(64) = null select top 1 @ColumnName = c.ColumnName , @SchemaDatatype = 4c.SchemaDataType , @isForeignKey = c.IsForeignKey from DialogColumn c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where c.ColumnName = 5replace(replace(replace(@ParameterDef , '$', '') , '[D]', '') , '[O]', '') and t.Tablename = @Tablename if @ParameterDef like '%[[]O]%' begin select @Alias6 = 'old' end if @isForeignKey = 1 begin select top 1 @Parenttable = isnull(rb.ParentTable, ra.ParentTable) , @ParentColumn = isnull(rb.ParentColumn, ra.ParentColumn7) , @ColumnName = ISNULL(rb.childColumn, ra.ChildColumn) from QBM_VQBMRelation ra left outer join QBM_VQBMRelation rb on ra.UID_QBMRelationBase = rb.UID_QBMRelation8 where ra.ChildTable = @Tablename and ra.ChildColumn = @ColumnName select @JoinCondition = concat(' left outer join ' , @Parenttable , ' ' , @JoinAlias9 , ' on ' , @Alias , '.' , @ColumnName , ' = ' , @JoinAlias, '.' , @ParentColumn , char(13), char(10) ) end return (@JoinCondition) end 10