关于存储过程传参数问题

寒冰意志 2008-01-01 12:46:12
我写的一个PROC
CREATE PROCEDURE OrderSummary @MaxQuantity varchar(10) outPUT AS
select * from @MaxQuantity


以下是报错信息
服务器: 消息 137,级别 15,状态 2,过程 OrderSummary,行 2
必须声明变量 '@MaxQuantity'。

我想用存储过程 传一个 表名的 参数, 然后把这个表选择出来,
现在报错, 怎么改啊。
...全文
94 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
寒冰意志 2008-01-02
  • 打赏
  • 举报
回复
对呀,我觉得也是有问题.
我想做一个存储过程 用来生成编号 aa-200801-0001 就象是这样的格式,
因为有好几个表都要用到这样的编号 所以我设计的是这样的


CREATE PROCEDURE Test @prefix char(2), @TableName varchar(64),@column varchar(64)

通过传一个前缀,一个表名, 一个字段名, 取出这个表该这段最大的值加一的那个值,做为新增加记录的值

感觉这个方法不太爽, 不知道谁有更好的办法.
gencheng 2008-01-02
  • 打赏
  • 举报
回复
虽然上面写的解决了你的问题,但个人觉的其实你问的这个问题本身反映了你的设计好像有问题.设计问题有时候比问题本身更重要.
hui_hui_2007 2008-01-01
  • 打赏
  • 举报
回复

declare @str varchar(100)
set @str='select getdate()'
exec (@str)
寒冰意志 2008-01-01
  • 打赏
  • 举报
回复
OK 多谢了, exec( ) 您帮我大忙了, 多谢多谢啊。
pt1314917 2008-01-01
  • 打赏
  • 举报
回复

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

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧