=号放到WHERE 里去,怎么能放到SELECT里呢?
解决方案 »
- 如何修改该sql——在存储过程中利用循环来求和
- 问!!!!!!!!!!!!!!!!!!
- 求救呀~,两个库的数据如何合并
- sql server 复制 指定快照文件夹 出错:
- SQL2kdesksp3和SQL2KSP3有什么区别?如果我已经安装了SQL2KSP3,有没有必要再安装SQL2kdesksp3?
- 为什么有的表在sysobjects中没有
- 关于数据库性能的问题
- 索引问题?
- 请教一个存储过程
- 我想把表中的一列字段设置为主键(这一列已经有数据了),但设置的时候才发现数据有重复的
- Delphi + SQL Server 运行速度问题,非常古怪,请高手多多参与!
- 有关SQL 的一个问题,请大家帮忙
select @temp=max(id) from replist with(index(pk_replist)) where factory='1'
declare @class char(1)
declare @temp int
set @lclass='factory'
set @class='1'declare @sql nvarchar(500)*
set @sql='select @t=max(id) from replist with(index(pk_replist)) where '+@lclass+'='''+@class+''''
exec sp_executesql @sql,N'@t int output',@temp output
根據你的代碼:
exec("select max(id) from replist with(index(pk_replist)) where "+@lclass+"='"+@class+"'")
確實沒出錯,但我要實現的是把查詢的結果賦值給@temp,也就是我想實現的功能是:
select @temp=max(id) from replist with(index(pk_replist)) where factory='1'
該如何實現呢?請指教!!!!!
Server: Msg 137, Level 15, State 1, Line 1
Must declare the variable '@temp'.
set @sql='select @t=max(id) from replist with(index(pk_replist)) where '+@lclass+'='''+@class+''''
exec sp_executesql @sql,N'@t int output',@temp output
以上就把查詢的結果賦值給@temp