SQL求助, 过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement'。
本帖最后由 Pc498471249 于 2013-01-31 16:26:16 编辑 错误如题, 我先贴上存储过程代码
ALTER PROCEDURE [dbo].[GetAllCount]
AS
BEGIN
declare @countsql varchar(100);
declare @allcount bigint=0; /*总行数*/
declare @count int; /*当前表行数*/
declare @currentTemp int; /*起始迭代数*/
set @currentTemp=10000;
while(@currentTemp<=99999)
begin
set @countsql='select @count=count(QQNumber) from tab_'+convert(varchar(10),@currentTemp);
exec sp_executesql @countsql,N'@count int output',@count output;
set @allcount=@allcount+@count;
end
return @allcount;
END
完了, 我要统计99999张表的数据总和, 循环每张表统计个数然后累加给一个公共的值, 最后返回, 逻辑思路没错啊。。没啥会有这个怪问题捏。。。。。。。。
消息 214,级别 16,状态 2,过程 sp_executesql,第 1 行
过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement'。
[解决办法]
declare @countsql varchar(100);
=>
declare @countsql nvarchar(1000);
[解决办法]
declare @countsql nvarchar(1000);