SqlServer EXEC 用法

--1.查询  (注意:表,字段不能直接使用变量,需要在拼接sql中写完整)
--错误写法:    'select @a from @b'
--正确写法:    'select '+@a+' from '+@b

--避免并减少使用: EXEC (sql语句)

--推荐使用EXEC sp_executesql

DECLARE @Sql NVARCHAR(2000),
@Table VARCHAR(20)='DataList',
@ModelName VARCHAR(50)='A1',
@ModelSN VARCHAR(50)='B1',
@tj int 
set @sql =  'SELECT @tj=COUNT(1) FROM '+@Table+' WHERE ModelName=@ModelName and ModelSN=@ModelSN'
exec sp_executesql @sql, N'@tj int  output,@ModelName VARCHAR(50),@ModelSN VARCHAR(20)',
@tj OUTPUT ,@ModelName,@ModelSN
SELECT @tj


--2数据写入临时表
declare #tmp table (
  ID int,
   A varchar(50),
   B varchar(50)
)

---1111
--set @sql = 'select top 10 ID, A, B from '+quotename(@tablename)

---222

--set @sql = 'select top 10 ID, A, B from '+@tablename

print @sql


insert into #tmp
exec sp_executesql @sql
 
select * from #tmp

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fanwenhu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值