ALTER procedure [dbo].[mProcForQueryMM]
@everyTable varchar(50),
@temTable varchar(50)
as
  set nocount on
  declare @sql varchar(2000)
  declare @count varchar(500) 
  declare @i int  if (exists(select * from sysobjects where name=@everyTable and xtype='U') and @everyTable !=@temTable)
  begin
    if (not exists(select * from sysobjects where name =@temTable))
    begin
      set @sql='select [序号],[ItemNumber],[Description],[quantity],[um],[Res],[P/M],[Supplier],[BTO/BTS],[交货周期] into '
      set @sql=@sql+@temTable+' from '+@everyTable+' where 1=0 '
      exec(@sql)
    end    set @sql='select @count=count(*) from '+@everyTable+' where [P/M]=''P'' or [P/M]=''M'''
    exec sp_executesql @sql,N'@count int output',@count output
    print @count
end运行结果:过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement'。
什么原因啊?