declare @sql nvarchar(2000)
set @sql='select * into #temp1 from product'
exec(@sql)
select * from #temp1
这样在查询分析器中执行会报如下错误
(3274 行受影响)
消息208,级别16,状态0,第4 行
对象名'#temp1' 无效。
可以改用
declare @sql nvarchar(2000)
set @sql='select * into #temp1 from product select * from #temp1'
exec(@sql)
游标的效率不高,一般需要使用其这方式替代
下面这段代码是正确的
declare @productcode nvarchar(200)
set @productcode='00000001'
declare @productName nvarchar(2000)
select @productName=[ProductName] from product where productcode=@productcode
print @productName
--select @productName=productName from product where productcode=@productCode
if exists(select [ProductName] from product where productcode=@productCode)
print @productName
else
print '==='
但是如果改成这样就不行了
declare @productcode nvarchar(200)
set @productcode='00000001'
declare @productName nvarchar(2000)
select @productName=[ProductName] from product where productcode=@productcode
print @productName
if exists(select @productName=productName from product where productcode=@productCode)
print @productName
else
print '==='
想说明的是在exists含数中是不能使用@productName=productName的方式来赋值的