SQL触发器中怎么给变量赋值 10

ALTERTRIGGERT_addMarket---销售表触发器ONMarket---销售表AFTERinsertASBEGINdeclare@Cnumberint;--... ALTER TRIGGER T_addMarket---销售表触发器
ON Market---销售表
AFTER insert
AS
BEGIN
declare @Cnumber int;----销售商品的数量
declare @Cid varchar(50);----库存里面商品的ID
update Commodity---商品库存 set Cnumber=Cnumber-@Cnumber where Cid=@Cid
END
这是我创建好的触发器,我的意思是我在我销售商品时数量是自己填写的比如说2个,ID为S001,销售成功后使库存里面S001的这个商品数量减少2个
insert into Market(MCid,Mname,Mnumber)values('S0001','电fan',2)就像我添加这句代码时,它显示的是0行受影响和1行受影响,库存里面没有变化
这样怎么把那两个变量调用出来
展开
 我来答
惠企百科
2022-12-01 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部
declare @Cnumber int;----销售商品的数量\x0d\x0a declare @Cid varchar(50);----库存里面商品的ID\x0d\x0a--给需要减少的商品的数量赋一个初始值,确保在重新赋值时不会出错\x0d\x0a\x0d\x0aSET @Cnumber = 0\x0d\x0a--给商品的编号赋赋一个初始值\x0d\x0aSET @Cid = '1'\x0d\x0a--如果不赋个初始值,在从inserted中获取并赋值时会出现值为NULL的情况\x0d\x0a\x0d\x0a--获取需要减少的商品的数量和商品的编号\x0d\x0a\x0d\x0aSELECT @Cnumber = Cnumber,@Cid = Cid FROM inserted\x0d\x0a--接下来的更新操作就是按照你原来的去更新就行了\x0d\x0a\x0d\x0a update Commodity---商品库存 set Cnumber=Cnumber-@Cnumber where Cid=@Cid\x0d\x0a\x0d\x0a--也可以这样更新\x0d\x0aUPDATE Commodity SET Cnumber = Cnumber - Cnumber\x0d\x0aFROM\x0d\x0a Commodity AS T\x0d\x0aINNER JOIN\x0d\x0a inserted AS T1\x0d\x0aON\x0d\x0a T.Cid = T1.Cid\x0d\x0a--这样可以批量更新,那么针对一条数据进行更新是没问题的,同事也省去了声明变量一级变量赋值的步骤
月之江南
推荐于2017-05-21 · TA获得超过203个赞
知道答主
回答量:221
采纳率:0%
帮助的人:155万
展开全部
declare @Cnumber int;----销售商品的数量
declare @Cid varchar(50);----库存里面商品的ID
--给需要减少的商品的数量赋一个初始值,确保在重新赋值时不会出错

SET @Cnumber = 0
--给商品的编号赋赋一个初始值
SET @Cid = '1'
--如果不赋个初始值,在从inserted中获取并赋值时会出现值为NULL的情况

--获取需要减少的商品的数量和商品的编号

SELECT @Cnumber = Cnumber,@Cid = Cid FROM inserted
--接下来的更新操作就是按照你原来的去更新就行了

update Commodity---商品库存 set Cnumber=Cnumber-@Cnumber where Cid=@Cid

--也可以这样更新
UPDATE Commodity SET Cnumber = Cnumber - Cnumber
FROM
Commodity AS T
INNER JOIN
inserted AS T1
ON
T.Cid = T1.Cid
--这样可以批量更新,那么针对一条数据进行更新是没问题的,同事也省去了声明变量一级变量赋值的步骤
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式