sp_executesql 用法

--1.
declare @var1 varchar(20)
set @var1='white'
select * from authors where au_lname =  @var1


--2.
declare @var1 varchar(20)
set @var1='white'
declare @s nvarchar(4000)
set @s='select * from authors where au_lname = @var1'
exec sp_executesql @s,N'@var1 varchar(20)',@var1
go

--3.待测试
declare @var1 varchar(20)
set @var1='white'
declare @var2 varchar(20)
declare @s nvarchar(4000)
set @s='select '+cast(@var2 as varchar)+'=au_lname from authors where au_lname = @var1'
exec sp_executesql @s,N'@var1 varchar(20),@var2 varchar(20)',@var1,@var2
select @var2
print @var2
go

/*
create proc queryhose
@employee_id varchar(5),
@top int
as
declare @s nvarchar(4000)
set @s='
select top '+cast(@top as varchar)+' *  --少了*
from  house_contract join house_state on house_contract.house_id=house_state.house_id
where  employee_id=@employee_id and whether_rent=''0'''
exec sp_executesql @s,N'@employee_id varchar(5)',@employee_id
go

*/
--4.待测试

CREATE PROCEDURE dbo.GetTimeStamp
@PAT0000 int,@ts1 timestamp output,@tablename nvarchar(10)
AS
declare @sql nvarchar(500)
set @sql=N'Select @ts1 = TS From '+@tableName
     +'where PAT0000='+convert(nvarchar,@PAT0000)
execute sp_executesql @sql,N'@ts1 timestamp output',@ts1 output

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值