Back to OIM Explorer

dbo.QBM_FSQTableRowOwnedByModule_i

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function.

Source: sandbox-db sys.sql_modules

Source size: 1.526 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_FGIPrimaryKeyCount source text reference
  • references source dbo.QBM_FGIPrimaryKeyName source text reference
  • references source dbo.QBM_FGIPrimaryKeyName_F source text reference
  • references source dbo.QBM_FSQModuleLower source text reference
  • references source dbo.QBM_FSQTableRowOwnedByModule source text reference

Complete Source

SQL92 lines
1CREATE FUNCTION dbo.QBM_FSQTableRowOwnedByModule_i(2  @TableName varchar(30),3  @moduleName varchar(3),4  @TableSynonym varchar(30),5  @PredecessorsInclNonlinear varchar(2000)6) RETURNS nvarchar(max7)8AS9BEGIN10  DECLARE @erg nvarchar(max)11  DECLARE @PrimaryKeyCount int12  DECLARE @ts varchar(30)13  IF ISNULL(@TableSynonym,14  '') = ''15  BEGIN16    SELECT @ts = @TableName17  END18  ELSE19  BEGIN20    SELECT @ts = @TableSynonym21  END22  SELECT @PrimaryKeyCount = dbo.QBM_FGIPrimaryKeyCount(@TableName)23  IF @PrimaryKeyCount > 2 OR @PrimaryKeyCount = 024  BEGIN25    SELECT @erg = '(1=0)'26    GOTO endLabel27  END28  IF @PrimaryKeyCount = 129  BEGIN30    SELECT31      @erg = CONCAT('32				(33					',34      @ts,35      '.',36      dbo.QBM_FGIPrimaryKeyName_F(@TableName, 1),37      ' like ''',38      @ModuleName,39      '-%''40				)41		')42  END43  IF @PrimaryKeyCount = 244  BEGIN45    SELECT46      @erg = CONCAT('47				( (',48      @ts,49      '.',50      dbo.QBM_FGIPrimaryKeyName_F(@TableName, 1),51      ' like ''',52      @ModuleName,53      '-%''54					and left(',55      @ts,56      '.',57      dbo.QBM_FGIPrimaryKeyName_F(@TableName, 2),58      ', 4) in ',59    CASE60      WHEN @PredecessorsInclNonlinear > ' ' THEN61    @PredecessorsInclNonlinear62    ELSE dbo.QBM_FSQModuleLower(@ModuleName)63    END,64    '65					)66				  or  67				   (',68    @ts,69    '.',70    dbo.QBM_FGIPrimaryKeyName_F(@TableName, 2),71    ' like ''',72    @ModuleName,73    '-%''74					 and left(',75    @ts,76    '.',77    dbo.QBM_FGIPrimaryKeyName_F(@TableName, 1),78    ', 4) in ',79    CASE80      WHEN @PredecessorsInclNonlinear > ' ' THEN81    @PredecessorsInclNonlinear82    ELSE dbo.QBM_FSQModuleLower(@ModuleName)83    END,84    '85					)		86				)87	 88	  ')89  END90  endLabel:91  RETURN(@erg)92END
Open raw exported source
SQL ยท Raw25 lines
1   create   function dbo.QBM_FSQTableRowOwnedByModule_i (@TableName varchar(30) , @moduleName varchar(3) , @TableSynonym varchar(30) , @PredecessorsInclNonlinear2 varchar(2000) ) returns nvarchar(max) as begin declare @erg nvarchar(max) declare @PrimaryKeyCount int declare @ts varchar(30) if ISNULL(@TableSynonym3, '') = '' begin select @ts = @TableName end else begin select @ts = @TableSynonym end select @PrimaryKeyCount = dbo.QBM_FGIPrimaryKeyCount(@TableName 4) if @PrimaryKeyCount > 2 or @PrimaryKeyCount = 0 begin select @erg = '(1=0)' goto endLabel end if @PrimaryKeyCount = 1 begin select @erg = concat('5				(6					'7 , @ts , '.' , dbo.QBM_FGIPrimaryKeyName_F(@TableName , 1) , ' like ''' , @ModuleName , '-%''8				)9		' )  end if @PrimaryKeyCount = 2 begin select @erg10 = concat('11				( (' , @ts , '.' , dbo.QBM_FGIPrimaryKeyName_F(@TableName , 1) , ' like ''' , @ModuleName , '-%''12					and left(', @ts , '.' , dbo.QBM_FGIPrimaryKeyName_F13(@TableName , 2) , ', 4) in ' , case when @PredecessorsInclNonlinear > ' ' then @PredecessorsInclNonlinear else dbo.QBM_FSQModuleLower(@ModuleName) end14, '15					)16				  or  17				   (' , @ts , '.' , dbo.QBM_FGIPrimaryKeyName_F(@TableName , 2) , ' like ''' , @ModuleName , '-%''18					 and left(' , @ts19 , '.' , dbo.QBM_FGIPrimaryKeyName_F(@TableName , 1) , ', 4) in ' , case when @PredecessorsInclNonlinear > ' ' then @PredecessorsInclNonlinear else dbo.QBM_FSQModuleLower20(@ModuleName) end, '21					)		22				)23	 24	  ' )  end endLabel: return(@erg) end 25