Back to OIM Explorer

dbo.QBM_FGIColumnFitsContentShort

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function.

Source: sandbox-db sys.sql_modules

Source size: 1.151 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_FGIColumnDataType source text reference

Complete Source

SQL66 lines
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
SQL ยท Raw9 lines
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