Back to OIM Explorer

dbo.QBM_FGIColumnUpdatedOthers

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function.

Source: sandbox-db sys.sql_modules

Source size: 904 characters

Interpretation

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

Relations

  • No extracted relations.

Typed Edges

  • No typed edges extracted for this source.

Complete Source

SQL46 lines
1CREATE FUNCTION dbo.QBM_FGIColumnUpdatedOthers(2  @TableName varchar(30),3  @columnname varchar(30),4  @UpdatePattern varbinary(128)5) RETURNS BIT6  WITH SCHEMABINDING7AS8BEGIN9  DECLARE @ret BIT = 010  DECLARE @ordinal int11  DECLARE @Byte int12  DECLARE @posiInByte int13  DECLARE @i int14  DECLARE @len int15  DECLARE @summe varbinary(1)16  SELECT17    @ordinal = COLUMNPROPERTY(OBJECT_ID(@TableName),18    @columnname,19    'ColumnID') -120  SELECT @byte =(@ordinal / 8) + 121  SELECT @posiInByte = @ordinal % 822  SELECT @len = len(@UpdatePattern)23  SELECT @i = 124  SELECT @summe = 0x0025  WHILE @i <= @len26  BEGIN27    IF @i = @byte28    BEGIN29      SELECT30        @summe = @summe |(convert(int, substring(@updatepattern, @i, 1)) ^ power(2, @posiInByte))31    END32    ELSE33    BEGIN34      SELECT35        @summe = @summe | convert(int,36        substring(@updatepattern, @i, 1))37    END38    SELECT @i = @i+139  END40  IF @summe <> convert(varbinary(1),41  0)42  BEGIN43    SELECT @ret = 144  END45  RETURN(@ret)46END
Open raw exported source
SQL ยท Raw7 lines
1    create   function dbo.QBM_FGIColumnUpdatedOthers (@TableName varchar(30), @columnname varchar(30), @UpdatePattern varbinary(128)) returns bit2 with SCHEMABINDING as begin  declare @ret bit = 0  declare @ordinal int  declare @Byte int  declare @posiInByte int  declare @i int  declare @len int 3 declare @summe varbinary(1)  select @ordinal = COLUMNPROPERTY(OBJECT_ID(@TableName), @columnname, 'ColumnID') -1     select @byte = (@ordinal / 8) + 14  select @posiInByte = @ordinal % 8  select @len = len(@UpdatePattern) select @i = 1 select @summe = 0x00 while @i <= @len begin  if @i = @byte begin select5 @summe = @summe | (convert(int, substring(@updatepattern, @i, 1)) ^ power(2,@posiInByte ) )  end else begin select @summe = @summe | convert(int, substring6(@updatepattern, @i, 1)) end select @i = @i+1 end if @summe <> convert(varbinary(1), 0)  begin select @ret = 1 end  return(@ret) end 7