dbo.QBM_FSQObjectKeyRepair_fn2
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_FGIPrimaryKeyName source text reference
- references source dbo.QBM_FGIPrimaryKeyName_F source text reference
- references source dbo.QBM_FSQObjectKeyRepair_fn source text reference
References
Referenced By
Complete Source
1CREATE FUNCTION dbo.QBM_FSQObjectKeyRepair_fn2(2 @TableName nvarchar(64),3 @Synonym nvarchar(64)4) RETURNS nvarchar(max5)6AS7BEGIN8 DECLARE @erg nvarchar(max)9 DECLARE @pkname1 varchar(30) = ''10 DECLARE @pkname2 varchar(30) = ''11 DECLARE @columnname nvarchar(64)12 SELECT TOP 1 @TableName = t.TableName13 FROM DialogTable t14 WITH(readpast)15 WHERE16 t.TableName = @TableName17 SELECT18 @pkname1 = dbo.QBM_FGIPrimaryKeyName_F(@TableName,19 1)20 SELECT21 @columnname = dbo.QBM_FGIPrimaryKeyName_F(@TableName,22 2)23 IF @columnname > ' '24 BEGIN25 IF @columnname < @pkname126 BEGIN27 SELECT @pkname2 = @pkname128 SELECT @pkname1 = @columnname29 END30 ELSE31 BEGIN32 SELECT @pkname2 = @columnname33 END34 END35 SELECT36 @erg = CONCAT('concat(''<Key><T>',37 @TableName,38 '</T>',39 '<P>'' , ',40 @Synonym,41 '.',42 @pkname1,43 ' , ''</P>',44 CASE45 WHEN @pkname2 > ' ' THEN46 CONCAT('<P>'' , ', @Synonym, '.', @pkname2 + ' , ''</P>')47 ELSE ''48 END,49 '</Key>'')')50 RETURN @erg51END
Open raw exported source
1 create function dbo.QBM_FSQObjectKeyRepair_fn2 (@TableName nvarchar(64) , @Synonym nvarchar(64) ) returns nvarchar(max) as begin declare @erg2 nvarchar(max) declare @pkname1 varchar(30) = '' declare @pkname2 varchar(30) = '' declare @columnname nvarchar(64) select top 1 @TableName = t.TableName3 from DialogTable t with (readpast) where t.TableName = @TableName select @pkname1 = dbo.QBM_FGIPrimaryKeyName_F(@TableName , 1) select @columnname = dbo.QBM_FGIPrimaryKeyName_F4(@TableName , 2) if @columnname > ' ' begin if @columnname < @pkname1 begin select @pkname2 = @pkname1 select @pkname1 = @columnname end else begin select5 @pkname2 = @columnname end end select @erg = concat( 'concat(''<Key><T>' , @TableName , '</T>' , '<P>'' , ' , @Synonym , '.' , @pkname1 , ' , ''</P>' 6, case when @pkname2 > ' ' then concat('<P>'' , ' , @Synonym , '.' , @pkname2 + ' , ''</P>') else '' end , '</Key>'')' ) return @erg end 7