使用动态SQL的存储过程sp_executesql,能否返回一个值? 可以的exec sp_executesql N'','@a int out',@a out 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以 如 set @Str='Select @a=min(col1) from table ' execute sp_executesql @Str,'@a int out', @a int 句例子declare @MyVar varchar(50)declare @MySQL nvarchar(50)select @MySQL = 'select @MyVar=name from table1 where name=''aa'''exec sp_executesql @MySQL,N'@MyVar varchar(50) output',@MyVar outputprint @myvar --可以,如取一个表的记录数:declare @tb varchar(50),@cnt int,@sql nvarchar(4000)set @sql='select @cnt=count(*) from '+@tbexec sp_executesql @sql,N'@cnt int output',@cnt outputprint @cnt --示例declare @a int --定义保存返回值的变量declare @sql nvarchar(4000) --定义要执行的sql语句的变量,注意变量类型set @sql='select @a=1' --要动态执行的sql语句exec sp_executesql @sql ,N'@a int out' --定义动态传递的参数 ,@a out --动态传递的参数列表select 结果=@a 什么是垂直分表举个例子(在线等) 数据库远程备份的奇怪问题 请问SQL 2005的sa的默认密码是多少..???? 行转列问题 我用ASP写的一段程序,连接sql sever数据库 SQL sever访问 Oracle时出错! 这个语句为什么会错? 火烧眉毛咯!寻找SQL高手,这边请解答 大力,JING88,SQL语句高手请进 sql server 2000 打SP4补丁出错。急求!!!!! 请问是a.DocID *= c.DocID中的*=是什么意思? 怎样备份和恢复表(包括里面的数据)
如
set @Str='Select @a=min(col1) from table '
execute sp_executesql @Str,'@a int out', @a int
declare @MySQL nvarchar(50)select @MySQL = 'select @MyVar=name from table1 where name=''aa'''exec sp_executesql @MySQL,N'@MyVar varchar(50) output',@MyVar output
print @myvar
declare @tb varchar(50),@cnt int,@sql nvarchar(4000)
set @sql='select @cnt=count(*) from '+@tb
exec sp_executesql @sql,N'@cnt int output',@cnt output
print @cnt
declare @a int --定义保存返回值的变量
declare @sql nvarchar(4000) --定义要执行的sql语句的变量,注意变量类型
set @sql='select @a=1' --要动态执行的sql语句
exec sp_executesql @sql
,N'@a int out' --定义动态传递的参数
,@a out --动态传递的参数列表
select 结果=@a