我写的一个PROC
CREATE PROCEDURE OrderSummary @MaxQuantity varchar(10) outPUT AS
select * from  @MaxQuantity
以下是报错信息
服务器: 消息 137,级别 15,状态 2,过程 OrderSummary,行 2
必须声明变量 '@MaxQuantity'。我想用存储过程  传一个 表名的  参数, 然后把这个表选择出来,
   现在报错, 怎么改啊。 

解决方案 »

  1.   


    从上面的语句看不懂楼主想干吗,只好靠猜了.
    CREATE   PROCEDURE   OrderSummary   
    @MaxQuantity   varchar(10)
    AS 
    exec('select   *   from   ' +  @MaxQuantity) 
      

  2.   

    OK  多谢了, exec(  ) 您帮我大忙了, 多谢多谢啊。 
      

  3.   


    declare @str varchar(100)
    set @str='select getdate()'
    exec (@str)
      

  4.   

    对呀,我觉得也是有问题. 
       我想做一个存储过程 用来生成编号 aa-200801-0001 就象是这样的格式, 
           因为有好几个表都要用到这样的编号 所以我设计的是这样的
    CREATE   PROCEDURE   Test @prefix char(2), @TableName varchar(64),@column varchar(64)通过传一个前缀,一个表名, 一个字段名, 取出这个表该这段最大的值加一的那个值,做为新增加记录的值感觉这个方法不太爽, 不知道谁有更好的办法.