日期:2014-05-17  浏览次数:20404 次

sql2000检查语法正确,但在查询分析器打开出错,请指教!
各位大虾:
我是一名企业会计主管,现作一项目,用到sql2000存储过程,其中一段语句
create  PROCEDURE resetcolumn 
(
 @tablename varchar(50), 
 @liename     varchar(50)
)
as
begin
...
declare @id int,@mid int
exec('select'+@mid+'=min('+@liename+'),@id=@mid FROM' + @tablename)
exec('update'+@tablename+' set @liename=@id,@id=@id+1 where @liename>@mid')

...
在查询分析器里打开后,出现下述错误提示:
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: '=' 附近有语法错误。
服务器: 消息 137,级别 15,状态 2,行 1
必须声明变量 '@id'。

在线紧急求解!
sql

------解决方案--------------------
declare @id int,@mid int,@sql nvarchar(4000)
set @sql='select @mid=min('+@liename+'),@id=min('+@liename+') FROM加一个空格' + @tablename
exec sp_executesql @sql,N'@mid int output,@id int output',@mid output,@id output
set @sql='update '+@tablename+' set '+@liename+'=@id,@id=@id+1 where '+@liename+'>@mid'
exec sp_executesql @sql,N'@mid int output,@id int output',@mid,@id output


------解决方案--------------------
引用:
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: 'FROMcz_user' 附近有语法错误。

好吧。。没注意,from这里要与表名分开
------解决方案--------------------
DBA_Huangzj 有空帮我看一下我的问题吧, 很头疼应该怎么写

http://bbs.csdn.net/topics/390386430?page=1#post-393864201