exec sp_executesql的用法

/***************输入一个参数********************/
declare @sql Nvarchar(1000)
declare @tt int
declare @t1 int
set @t1=55;
--set @sql=N' insert into @ab select 2'
exec sp_executesql
   N'select @t2' --执行的语句,若是变量的话,只可以是Nvarchar变量   
   ,N'@t2 int' --声明执行语句内的参数,若是变量的话,只可以是Nvarchar变量
   ,@t2=@t1 --为语句内的参数赋值,左边是语句内的参数,右边是值。
/****************输入多个参数********************/
declare @sql Nvarchar(1000)
declare @tt int
declare @t1 int
set @t1=55;
--set @sql=N' insert into @ab select 2'
exec sp_executesql
   N'select @t2,@t1' --执行的语句,若是变量的话,只可以是Nvarchar变量
   ,N'@t2 int,@t1 int' --声明执行语句内的参数,若是变量的话,只可以是Nvarchar变量  
   ,@t2=@t1,@t1=88   --为语句内的参数赋值,左边是语句内的参数,右边是值。
/**************只输出一个参数*********************/
declare @sql Nvarchar(1000)
declare @tt2 int
--set @sql=N' insert into @ab select 2'
exec sp_executesql
   N'select @t2=200' --执行的语句,若是变量的话,只可以是Nvarchar变量
   ,N'@t2 int output' --声明执行语句内的参数,若是变量的话,只可以是Nvarchar变量  
   ,@tt2 output   --外部变量接收输出output。
select @tt2

/**********同时输入参数又输出参数************/
--declare @tab table(cc int)
declare @sql Nvarchar(1000)
declare @tt int
declare @t1 int
set @t1=50;
--set @sql=N' insert into @ab select 2'
exec sp_executesql
   N'select @tt2=@t2+@t3'   --执行的语句,若是变量的话,只可以是Nvarchar变量
   ,N'@t2 int,@t3 int,@tt2 int output' --为语句内的参数赋值,左边是语句内的参数,右边是值。
   ,@t2=@t1,@t3=50,@tt2=@tt output --语句内的参数赋值--左边是语句内的参数,右边是值。
        --输出参数--声名外部的接收变量,因为有了输入参数,因此必须指明那个语句内变量为输出变量.
select @tt

转载于:https://www.cnblogs.com/slcc/archive/2012/04/13/2445487.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值