execute sp_executesql 和 execute

  execute 在 SQL Server 中可简写成:"exec"。
  execute 的官方解释是:执行标量值的用户定义函数、系统过程、用户定义存储过程或扩展存储过程。同时支持 Transact-SQL 批处理内的字符串的执行 。
  在平时,我们使用普通的sql语句时,可直接用exec执行:
  
exec ( ' select * from dbo.EMPLOYEEINFO ' )
BEGIN
DECLARE @tabel_name VARCHAR ( 20 )
DECLARE @SQL_UPDATE VARCHAR ( 1000 )

SET @tabel_name = ' dbo.EMPLOYEEINFO'  '
SET @SQL_UPDATE = ' UPDATE ' + @tabel_name + ' SET NAME= ''张三 '' WHERE ID = 1 '
exec ( SQL_UPDATE )

END
 
但当我们需要使用带有返回值的sql语句时却不能这样使用了!
如下:
 
BEGIN
DECLARE @tabel_col VARCHAR ( 20 )
DECLARE @SQL_SELECT NVARCHAR ( 1000 )
DECLARE @SQL_VALUE VARCHAR ( 10 )

SET @SQL_SELECT = ' SELECT @tabel_col = col_NAME FROM dbo.EMPLOYEEINFO WHERE ID = 1 '
exec sp_executesql @SQL_SELECT ,N ' @tabel_col VARCHAR(10) OUTPUT , @SQL_VALUE OUTPUT

PRINT @SQL_VALUE
END
 
注:sql语句字段一定要用ntext/nchar/nvarchar类型,否则报错。
 
新手上路,请多多指正!共同学习,一起进步!
 
 
 
 
 
 
 
 

转载于:https://www.cnblogs.com/lz-wolf/archive/2011/06/18/2084208.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值