存储过程输出参数

awjx 2003-08-21 03:27:48
create proc getproductdata
(
@productID int,
@productName nvarchar(40)output,
@productPrice money output
)
as
select @productName=productName,@productPrice=unitprice
from products
where productID=@productID
go

这是我在一本书上抄的一个存储过程,它有两个输出参数
为什么exec时,它提示所有的参数都必须给出呢?
比如exec getproductdata 1
提示:
服务器: 消息 201,级别 16,状态 3,过程 getproductdata,行 0
过程 'getproductdata' 需要参数 '@productName',但未提供该参数。

但@productName是输出参数呀!exec时也要提供吗?那这个输出参数有何含义呢?
请大家跟我讲讲存储过程与输出参数吧!

...全文
38 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
z5wjz 2003-08-21
  • 打赏
  • 举报
回复
declare @var1 nvarchar(40),@var2 money
exec getproductdata 1 @var1 output,@var2 output
select @var1,@var2
lht0530 2003-08-21
  • 打赏
  • 举报
回复
declare @a nvarchar(40),@b money
exec getproductdata 1 @a out,@b out

select @a,@b
polugen 2003-08-21
  • 打赏
  • 举报
回复
大力说的对
CrazyFor 2003-08-21
  • 打赏
  • 举报
回复
declare @out1 nvarchar(40),@out2 money
exec getproductdata 1,@out1 output,@out2 output
pengdali 2003-08-21
  • 打赏
  • 举报
回复
create proc getproductdata
(
@productID int,
@productName nvarchar(40) output,
@productPrice money output
)
as
select @productName=productName,@productPrice=unitprice
from products
where productID=@productID
go

---调用:
declare @a nvarchar(40),@b money
exec getproductdata 1 @a out,@b out

select @a,@b

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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