返回值的存储过程

99归一 2012-03-24 10:33:11
如下代码 :

--一:
declare @orderid varchar(20)
set @orderid ='10048500000'


select
count(1) as '总数'
from sr_sale_order a
inner join dw_order b on a.id=b.order_id
left join sy_work_status c on b.flow_status =c.id
where
a.id=@orderid
and b.now_status =0
and b.flow_status =1396
--二:
select case when a.valid_qty=0 then '寄存数量为空'
else '寄存数量不为空' end as [寄存数量]
from sr_order_send_detail a
inner join sr_sale_order b on b.id=a.order_id
where a.order_id =@orderid

--三:
update sr_sale_order set order_status_id=1382


我想要的结果是:
如果一查出的结果不为0,且二寄存数量为‘寄存数量为空’,同时满足时执行,语句三
这样的存储过程怎么写
...全文
62 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2012-03-24
  • 打赏
  • 举报
回复
方法很多
用返回结果集或用变量在存储过程指定output输出
或用return 数字--通过数据区别
中国风 2012-03-24
  • 打赏
  • 举报
回复
CREATE PROCEDURE P1
(
@orderid varchar(20)=''
)
AS

IF EXISTS(
select
1
from sr_sale_order a
inner join dw_order b on a.id=b.order_id
left join sy_work_status c on b.flow_status =c.id
where
a.id=@orderid
and b.now_status =0
and b.flow_status =1396
) AND
EXISTS(
select 1
from sr_order_send_detail a
inner join sr_sale_order b on b.id=a.order_id
where a.order_id =@orderid AND a.valid_qty=0
)
update sr_sale_order set order_status_id=1382 WHERE a.id=@orderid --加上条件
DECLARE @Message NVARCHAR(50)
IF @@ROWCOUNT>0
RETURN
SELECT '条件不满足'
  • 打赏
  • 举报
回复

go
create proc pro_tracy @orderid
as
declare @str varchar(20)
select @str=(case when a.valid_qty=0 then '寄存数量为空'
else '寄存数量不为空' end)
from sr_order_send_detail a
inner join sr_sale_order b on b.id=a.order_id
where a.order_id =@orderid
declare @count int
select @count=count(1)
from sr_sale_order a
inner join dw_order b on a.id=b.order_id
left join sy_work_status c on b.flow_status =c.id
where
a.id=@orderid
and b.now_status =0
and b.flow_status =1396
if @count<>0 and @str='寄存数量为空'
begin
update sr_sale_order set order_status_id=1382
end


APHY 2012-03-24
  • 打赏
  • 举报
回复
这个不难
一、声明两个参数:一个存结果,一个存寄存数量
二、通过IF判断语句执行SQL语句三

34,590

社区成员

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

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