sql 存储过程 sp_executesql

来源:互联网 发布:打开数据库的命令 编辑:程序博客网 时间:2024/05/29 10:01

1)

     最简单的应用

exec sp_executesql N‘select * from drp..tbl_part’


2)

     带参数的(当前例子和参数无关,其实就是字符串拼接)

declare @i intdeclare @sqlStr nvarchar(200)set @i=2000set @sqlStr='select * from drp..tbl_part tp where tp.pin_price > '+CONVERT(nvarchar,@i)exec sp_executesql @sqlStr 


3)

     带输入参数

exec sp_executesql N'select * from drp..tbl_part tp where tp.pin_price > @pin_price'                   ,N'@pin_price int'                   ,@pin_price=2000

     仔细观察:

                          1:sql语句里面的变量是在第二个参数中声明的,不管sql语句有多少个参数变量,都要在这里声明!

                          2:第三个及其以后的参数是用作为第二个参数赋值的。

 

4)带输出参数

declare @total_var intexec sp_executesql N'select @total=count(*) from drp..tbl_part tp where tp.pin_price > @pin_price'                   ,N'@pin_price int,@total int output'                   ,@pin_price=2000                   ,@total=@total_var output ---把输出参数的值放在一个变量@total_var中select @total_var                            ---查看输出的参数


 


 

 

原创粉丝点击