dbo.QBM_FGIColumnDataLen
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_FGIColumnDataType source text reference
Complete Source
1CREATE FUNCTION dbo.QBM_FGIColumnDataLen(2 @TableName varchar(30),3 @columnname varchar(30)4) RETURNS int5AS6BEGIN7 DECLARE @erg int8 DECLARE @datatype nvarchar(64)9 IF @TableName IN(10 SELECT TableName11 FROM QBM_VStartupTables)12 BEGIN13 SELECT TOP 1 @erg = CHARACTER_MAXIMUM_LENGTH14 FROM INFORMATION_SCHEMA.COLUMNS cc15 WHERE16 cc.COLUMN_NAME = @columnname AND cc.TABLE_NAME = @TableName17 END18 ELSE19 BEGIN20 SELECT TOP 1 @erg = cc.SchemaDataLen21 FROM DialogColumn cc22 WITH(readpast)23 JOIN DialogTable t24 WITH(readpast)25 ON cc.UID_DialogTable = t.UID_DialogTable26 WHERE27 cc.ColumnName = @columnname AND t.TableName = @TableName28 END29 IF @erg = -130 BEGIN31 SELECT @erg = 214748364732 RETURN(@erg)33 END34 IF isnull(@erg,35 0) = 036 BEGIN37 SELECT38 @datatype = dbo.QBM_FGIColumnDataType(@TableName,39 @columnname)40 SELECT @erg = CASE @datatype41 WHEN 'int' THEN42 443 WHEN 'bigint' THEN44 845 WHEN 'bit' THEN46 147 WHEN 'float' THEN48 849 WHEN 'bigint' THEN50 851 WHEN 'datetime' THEN52 853 END54 END55 endLabel:56 RETURN(@erg)57END
Open raw exported source
1 create function dbo.QBM_FGIColumnDataLen(@TableName varchar(30) , @columnname varchar(30) ) returns int as begin declare @erg int declare @datatype2 nvarchar(64) if @TableName in (select TableName from QBM_VStartupTables) begin select top 1 @erg = CHARACTER_MAXIMUM_LENGTH from INFORMATION_SCHEMA.COLUMNS3 cc where cc.COLUMN_NAME = @columnname and cc.TABLE_NAME = @TableName end else begin select top 1 @erg = cc.SchemaDataLen from DialogColumn cc with (readpast4) join DialogTable t with (readpast) on cc.UID_DialogTable = t.UID_DialogTable where cc.ColumnName = @columnname and t.TableName = @TableName end if @erg5 = -1 begin select @erg = 2147483647 return(@erg) end if isnull(@erg, 0) = 0 begin select @datatype = dbo.QBM_FGIColumnDataType(@TableName , @columnname6) select @erg = case @datatype when 'int' then 4 when 'bigint' then 8 when 'bit' then 1 when 'float' then 8 when 'bigint' then 8 when 'datetime' then 87 end end endLabel: return(@erg) end 8