Back to OIM Explorer

dbo.QBM_FSQCEFParmSelect

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function.

Source: sandbox-db sys.sql_modules

Source size: 2.347 characters

Interpretation

  • Database function. Usually supports views, validation, or calculated predicates; look at referenced-by entries for callers.

Relations

  • No extracted relations.

Typed Edges

  • references source dbo.QBM_FCVBigIntToString source text reference
  • references source dbo.QBM_FCVBinaryToString source text reference
  • references source dbo.QBM_FCVBitToString source text reference
  • references source dbo.QBM_FCVDatetimeToString source text reference
  • references source dbo.QBM_FCVFloatToString source text reference
  • references source dbo.QBM_FCVIntToString source text reference
  • references source dbo.QBM_FSQCEFTableDisplay source text reference

Complete Source

SQL120 lines
1CREATE FUNCTION dbo.QBM_FSQCEFParmSelect(2  @Tablename varchar(30),3  @ParameterDef varchar(64),4  @Alias varchar(16),5  @JoinAlias varchar(16)6) RETURNS nvarchar(max7)8AS9BEGIN10  DECLARE @Erg nvarchar(max) = ''11  DECLARE @ColumnName varchar(30) = NULL12  DECLARE @SchemaDatatype varchar(64) = NULL13  DECLARE @isForeignKey BIT = 014  DECLARE @IsPKMember BIT = 015  DECLARE @Parenttable varchar(30)16  DECLARE @ParentColumn varchar(30)17  SELECT18    TOP 1 @ColumnName = c.ColumnName,19    @SchemaDatatype = c.SchemaDataType,20    @isForeignKey = c.IsForeignKey,21    @IsPKMember = c.IsPKMember22  FROM DialogColumn c23  JOIN DialogTable t24    ON c.UID_DialogTable = t.UID_DialogTable25  WHERE26    c.ColumnName = replace(replace(replace(@ParameterDef, '$', ''), '[D]', ''),27  '[O]',28  '') AND t.Tablename = @Tablename29  IF @ParameterDef LIKE '%[[]O]%'30  BEGIN31    SELECT @Alias = 'old'32  END33  IF trim(@ParameterDef) LIKE '$Script(%)$%'34  BEGIN35    SELECT36      @erg = CONCAT('''',37      @ParameterDef,38      '''')39      GOTO EndLabel40  END41  SELECT42    @Erg = CASE isnull(@SchemaDatatype,43    '')44    WHEN 'int' THEN45    CONCAT('dbo.QBM_FCVIntToString(',46    @Alias,47    '.',48    @columnname,49    ')')50    WHEN 'bigint' THEN51    CONCAT('dbo.QBM_FCVBigIntToString(',52    @Alias,53    '.',54    @columnname,55    ')')56    WHEN 'datetime' THEN57    CONCAT('dbo.QBM_FCVDateTimeToString(',58    @Alias,59    '.',60    @columnname,61    ')')62    WHEN 'Float' THEN63    CONCAT('dbo.QBM_FCVFloatToString(',64    @Alias,65    '.',66    @columnname,67    ')')68    WHEN 'Bit' THEN69    CONCAT('dbo.QBM_FCVBitToString(',70    @Alias,71    '.',72    @columnname,73    ')')74    WHEN 'varbinary' THEN75    CONCAT('dbo.QBM_FCVBinaryToString(',76    @Alias,77    '.',78    @columnname,79    ', 0)')80  ELSE CASE81  WHEN @SchemaDatatype IS NULL AND isnull(@ParameterDef,82  '') > ' ' THEN83  '''<temporarily ParameterDefinition>'''84  WHEN @SchemaDatatype IS NULL THEN85  ' '''' '86  ELSE CONCAT('left (isnull( ',87  @Alias,88  '.',89  @columnname,90  ', ''''), 1024)')91  END92  END93  IF @isForeignKey = 194  BEGIN95    SELECT96      TOP 1 @Parenttable = isnull(rb.ParentTable,97      ra.ParentTable),98      @ParentColumn = isnull(rb.ParentColumn,99      ra.ParentColumn)100    FROM QBM_VQBMRelation ra101    LEFT102    OUTER103    JOIN QBM_VQBMRelation rb104      ON ra.UID_QBMRelationBase = rb.UID_QBMRelation105    WHERE106      ra.ChildTable = @Tablename AND ra.ChildColumn = @ColumnName107    SELECT108      @Erg = dbo.QBM_FSQCEFTableDisplay(@ParentTable,109      @JoinAlias)110      GOTO endLabel111  END112  IF @IsPKMember = 1113  BEGIN114    SELECT115      @erg = dbo.QBM_FSQCEFTableDisplay(@Tablename,116      @Alias)117  END118  endLabel:119  RETURN(@Erg)120END
Open raw exported source
SQL ยท Raw16 lines
1   create   function dbo.QBM_FSQCEFParmSelect(@Tablename varchar(30) , @ParameterDef varchar(64) , @Alias varchar(16) , @JoinAlias varchar(16)  2) returns nvarchar(max) as begin declare @Erg nvarchar(max) = '' declare @ColumnName varchar(30) = null declare @SchemaDatatype varchar(64) = null declare3 @isForeignKey bit = 0 declare @IsPKMember bit = 0 declare @Parenttable varchar(30) declare @ParentColumn varchar(30) select top 1 @ColumnName = c.ColumnName4 , @SchemaDatatype = c.SchemaDataType , @isForeignKey = c.IsForeignKey , @IsPKMember = c.IsPKMember from DialogColumn c join DialogTable t on c.UID_DialogTable5 = t.UID_DialogTable where c.ColumnName = replace(replace(replace(@ParameterDef , '$', '') , '[D]', '') , '[O]', '') and t.Tablename = @Tablename if @ParameterDef6 like '%[[]O]%' begin select @Alias = 'old' end if trim(@ParameterDef) like '$Script(%)$%' begin select @erg = concat('''', @ParameterDef, '''') goto EndLabel7 end select @Erg = case isnull(@SchemaDatatype, '') when 'int' then concat('dbo.QBM_FCVIntToString(' , @Alias , '.' , @columnname , ')' ) when 'bigint'8 then concat('dbo.QBM_FCVBigIntToString(' , @Alias , '.' , @columnname , ')') when 'datetime' then concat('dbo.QBM_FCVDateTimeToString(' , @Alias , '.'9 , @columnname , ')') when 'Float' then concat('dbo.QBM_FCVFloatToString(' , @Alias , '.' , @columnname , ')' ) when 'Bit' then concat('dbo.QBM_FCVBitToString('10 , @Alias , '.' , @columnname , ')' ) when 'varbinary' then concat('dbo.QBM_FCVBinaryToString(' , @Alias , '.' , @columnname , ', 0)' ) else case when 11@SchemaDatatype is null and isnull(@ParameterDef, '') > ' ' then '''<temporarily ParameterDefinition>''' when @SchemaDatatype is null then ' '''' ' else12 concat ( 'left (isnull( ', @Alias , '.' , @columnname , ', ''''), 1024)' ) end end if @isForeignKey = 1 begin select top 1 @Parenttable = isnull(rb.ParentTable13, ra.ParentTable) , @ParentColumn = isnull(rb.ParentColumn, ra.ParentColumn) from QBM_VQBMRelation ra left outer join QBM_VQBMRelation rb on ra.UID_QBMRelationBase14 = rb.UID_QBMRelation where ra.ChildTable = @Tablename and ra.ChildColumn = @ColumnName select @Erg = dbo.QBM_FSQCEFTableDisplay(@ParentTable , @JoinAlias15 ) goto endLabel end if @IsPKMember = 1 begin select @erg = dbo.QBM_FSQCEFTableDisplay(@Tablename , @Alias ) end endLabel: return (@Erg) end 16