dbo.QBM_FGIColumnFitsContentShort
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_FGIColumnFitsContentShort(2 @TableName varchar(30),3 @columnname varchar(30)4) RETURNS BIT5AS6BEGIN7 DECLARE @erg BIT = 08 DECLARE @maxLen int9 DECLARE @datatype nvarchar(64)10 IF @TableName IN(11 SELECT TableName12 FROM QBM_VStartupTables)13 BEGIN14 SELECT TOP 1 @maxLen = CHARACTER_MAXIMUM_LENGTH15 FROM INFORMATION_SCHEMA.COLUMNS cc16 WHERE17 cc.COLUMN_NAME = @columnname AND cc.TABLE_NAME = @TableName18 END19 ELSE20 BEGIN21 SELECT TOP 1 @maxLen = cc.SchemaDataLen22 FROM DialogColumn cc23 WITH(readpast)24 JOIN DialogTable t25 WITH(readpast)26 ON cc.UID_DialogTable = t.UID_DialogTable27 WHERE28 cc.ColumnName = @columnname AND t.TableName = @TableName29 END30 IF @maxLen = -131 BEGIN32 SELECT @maxLen = 100033 RETURN(@erg)34 END35 IF isnull(@maxLen,36 0) = 0 OR isnull(@maxLen,37 0) > 19838 BEGIN39 SELECT40 @datatype = dbo.QBM_FGIColumnDataType(@TableName,41 @columnname)42 SELECT @maxlen = CASE @datatype43 WHEN 'int' THEN44 445 WHEN 'bigint' THEN46 847 WHEN 'bit' THEN48 149 WHEN 'float' THEN50 851 WHEN 'bigint' THEN52 853 WHEN 'datetime' THEN54 855 WHEN 'varbinary' THEN56 (@maxLen * 2) + 257 ELSE @maxLen58 END59 END60 IF @maxLen <= 40061 BEGIN62 SELECT @erg = 163 END64 endLabel:65 RETURN(@erg)66END
Open raw exported source
1 create function dbo.QBM_FGIColumnFitsContentShort(@TableName varchar(30) , @columnname varchar(30) ) returns bit as begin declare @erg bit2 = 0 declare @maxLen int declare @datatype nvarchar(64) if @TableName in (select TableName from QBM_VStartupTables) begin select top 1 @maxLen = CHARACTER_MAXIMUM_LENGTH3 from INFORMATION_SCHEMA.COLUMNS cc where cc.COLUMN_NAME = @columnname and cc.TABLE_NAME = @TableName end else begin select top 1 @maxLen = cc.SchemaDataLen4 from DialogColumn cc with (readpast) join DialogTable t with (readpast) on cc.UID_DialogTable = t.UID_DialogTable where cc.ColumnName = @columnname and5 t.TableName = @TableName end if @maxLen = -1 begin select @maxLen = 1000 return(@erg) end if isnull(@maxLen, 0) = 0 or isnull(@maxLen, 0) > 198 begin6 select @datatype = dbo.QBM_FGIColumnDataType(@TableName , @columnname) select @maxlen = case @datatype when 'int' then 4 when 'bigint' then 8 when 'bit'7 then 1 when 'float' then 8 when 'bigint' then 8 when 'datetime' then 8 when 'varbinary' then (@maxLen * 2) + 2 else @maxLen end end if @maxLen <= 4008 begin select @erg = 1 end endLabel: return(@erg) end 9