码迷,mamicode.com
首页 > 数据库 > 详细

PCB MS SQL跨库执行SQL 获取返回值

时间:2018-06-30 19:53:38      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:har   获取   动态   必须   cut   exe   set   tput   val   

 

 

一.SQL跨库执行SQL 获取返回值

DECLARE  @Dblink nvarchar(100)
DECLARE  @sql nvarchar(MAX)
DECLARE  @layer INT
SET @Dblink = P2.fp_db.dbo.
select @sql=SELECT top 1 @layer=layer FROM  + @Dblink + mktxhglb  WHERE pdctno= ‘‘at00101ca0‘‘‘
exec sp_executesql @sql, N@layer int output ,@layer output
SELECT @layer

使用:sp_executesql 规则范要求:

1、要求动态Sql和动态Sql参数列表必须是NVARCHAR

2、动态Sql的参数列表与外部提供值的参数列表顺序必需一致

3、一旦使用了 ‘@name = value‘ 形式之后,所有后续的参数就必须以 ‘@name = value‘ 的形式传递,比如:

DECLARE  @Dblink nvarchar(100)
DECLARE  @sql nvarchar(MAX)
DECLARE  @layer INT
SET @Dblink = P2.fp_db.dbo.
select @sql=SELECT top 1 @layerNum =layer FROM  + @Dblink + mktxhglb  WHERE pdctno= ‘‘at00101ca0‘‘‘
exec sp_executesql @stmt=@sql,@params= N@layerNum int output ,@layerNum = @layer output
SELECT @layer

 

PCB MS SQL跨库执行SQL 获取返回值

标签:har   获取   动态   必须   cut   exe   set   tput   val   

原文地址:https://www.cnblogs.com/pcbren/p/9248261.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!