I. SQL cross-Library Execute SQL Get return value
DECLARE @Dblink nvarchar( -)DECLARE @sql nvarchar(MAX)DECLARE @layer INTSET @Dblink = 'P2.fp_db.dbo.'Select @sql='SELECT top 1 @layer =layer from' + @Dblink + 'mktxhglb WHERE pdctno="'at00101ca0" "execsp_executesql@sqlN'@layer int Output',@layerOutputSELECT @layer
Use: sp_executesql Rule requirements:
1. require dynamic SQL and dynamic SQL parameter list must be nvarchar
2. The parameter list of dynamic SQL must be consistent with the order of parameter list of externally supplied values
3. Once the ' @name = value ' form is used, all subsequent parameters must be passed in the form of ' @name = value ', such as:
DECLARE @Dblink nvarchar( -)DECLARE @sql nvarchar(MAX)DECLARE @layer INTSET @Dblink = 'P2.fp_db.dbo.'Select @sql='SELECT top 1 @layerNum =layer from' + @Dblink + 'mktxhglb WHERE pdctno="'at00101ca0" "execsp_executesql@stmt=@sql,@params=N'@layerNum int Output',@layerNum = @layerOutputSELECT @layer
PCB MS SQL cross-Library Execute SQL Get return value