一个新手问题,先谢谢了!
一个存储过程,在应用程序传入参数(表名)后,存储过程查询该表内"Number"列的最大值,并返回结果。CREATE PROCEDURE GetMaxNum
@name varchar(8),
@num int output
AS
BEGIN
DECLARE @exestr nvarchar(600)
SET @exestr=N'(select '+@num+'=max(sNumber) from '+@name+')'
EXEC(@exestr)
SELECT @num --是调试用的
END
表结构:
sRecId int 4 --标识列
......
sNumber int 4 not null
........
执行语句:
EXEC GetMaxNum 'hqyg0001',0
错误消息:
服务器: 消息 245,级别 16,状态 1,过程 GetMaxNum,行 6
将 nvarchar 值 '(select ' 转换为数据类型为 int 的列时发生语法错误。
我用Sql server 时间不长,系统给出的错误信息很明显,那句该怎样写啊?
[此贴子已经被作者于2005-12-27 18:54:33编辑过]