SQL 更新和查询嵌套在一起的一个较为复杂的查询,该怎么写?请高手帮忙!

2025-03-04 06:01:57
推荐回答(1个)
回答1:

使用频率高吗?高的话
建议调用存储过程 不高就请把存储过程的代码复制出来 把变量部分换成你的值 我就只给你T-SQL语句了 还有 你也没说是要根据什么的只来得ID 我也就只有从你的ID开始 ID相信你自己能得到 如果希望我优化下语句 请补充出你的条件 即 你的ID来历

if exists(select * from sysobjects name ='proc_UpdateAmount')
drop proc proc_UpdateAmount

go

creat proc 'proc_UpdateAmount'
(@ID int )
as

set nocount on
/*赋予初值*/
declare @goodsIDint
set @goodsID=0

select @goodsID=goodsID from V_order_detail where 本表编号=@ID

update tb_goods set Amount =Amount-
(select number from V_order_detail where 本表编号=@orderID)

where goodsID=@goodsID
if(@@rowcount=1)
return 1--表示更新成功
else
return 0--表示更新失败

go

/*调用存储过程*/
declare @test int
set @test =0
exec @test = proc_UpdateAmount 1

然后去访问变量 看是1 还是0
别告诉我都会搞jsp的人会不知道怎么去访问sql的变量 再有问题请再补充 ok?