gpt4 book ai didi

Mysql/adventureworks数据库/触发问题

转载 作者:行者123 更新时间:2023-11-29 16:40:29 25 4
gpt4 key购买 nike

下午好,我在类里面试图理解这个问题时遇到了一些麻烦。此作业的目的是通过满足特定条件时启动的触发器来添加数据输入参数。

由于仓储限制,超过 800 件的库存需要发送到外部存储站点并单独跟踪。已要求您监视更新何时超出此边界,以便可以在生产 session 中解决该问题。为 Production.ProductInventory 表编写一个名为“tgrExcessInventory”的触发器,以确保数量永远不会超过 800 单位。这是第一步。修改步骤 1 中创建的触发器,使其仅在“数量”列更新时才执行其检查代码。我成功创建了触发器,但我无法理解如何修改它?这是我到目前为止所拥有的。我在这里看到了一些与这个问题类似的其他帖子,但我还没有看到任何对其进行修改的帖子。我觉得我缺少了一些小东西。根据我的理解,我需要写一个 alter 语句?

CREATE TRIGGER tgrExcessInventory
on Production.ProductInventory
FOR UPDATE
AS
IF EXISTS
(SELECT 'True'
FROM Inserted i
JOIN Deleted d
ON i.productID = d.ProductID
AND i.locationID = d.LocationID
WHERE (d.quantity + i.quantity) >= 800 OR
i.quantity >=800

)Begin
RAISERROR('Cant increase supply where units would be over 800
units',16,1)
ROLLBACK TRAN
END

然后我执行了更改功能

      ALTER TRIGGER [Production].[tgrExcessInventory]
on [Production].[ProductInventory]
FOR UPDATE
AS
IF EXISTS
(SELECT 'True'
FROM Inserted I
JOIN Deleted D
ON i.Quantity = d.quantity
AND i.Quantity = d.Quantity
WHERE (d.quantity + i.quantity) >= 800 OR
i.quantity >=800

)Begin
RAISERROR('Cant increase supply where units would be over 800 units',16,1)
ROLLBACK TRAN
END

看起来有效吗?我相信我做对了任何提示将不胜感激感谢您的时间

最佳答案

如果您在这里阅读:https://dba.stackexchange.com/questions/193219/alter-procedure-in-mysql

关于ALTER PROCEDURE

This statement can be used to change the characteristics of a stored procedure. More than one change may be specified in an ALTER PROCEDURE statement. However, you cannot change the parameters or body of a stored procedure using this statement; to make such changes, you must drop and re-create the procedure using DROP PROCEDURE and CREATE PROCEDURE.

如果过程是微小的更改,则可以使用 alter 语句轻松更改过程。如果您想进行更大的更改,则应使用 SHOW CREATE PROCEDURE tgrExcessInventory 然后进行更改,删除现有过程 DROP PROCEDURE IF EXIST tgrExcessInventory 并运行 CREATE PROCEDURE 语句以及您的更改

关于Mysql/adventureworks数据库/触发问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53364815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com