dbo.QBM_FSQCEFParmSelect
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
- 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
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
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