私の問題は、過去2年間に販売された製品が削除されないようにするためのトリガーを作成する必要があることです。それ以外の場合は、製品のすべての注文ラインで長い間削除する必要があります。商品の販売中に削除を防止するトリガーを削除するのではなく
私のテーブルはこのような何かを見て:私は、現時点ではかなり無知ですが、このような何かを行うためのアイデアを持っている
PRODUCT_TABLE: ID, price
ORDERITEM_TABLE: ID, Quantity, productid, ordersid
ORDERS_TABLE: ID, Orderdate
私の最初のトリガーのその1を:
CREATE TRIGGER productdelete
ON product
INSTEAD OF DELETE
AS
BEGIN
DECLARE @today datetime, @orderdate date
SET @today = GetDate()
IF NOT EXISTS(SELECT productid from product where productid = (select productid from deleted) and (SELECT orderdate from orders) > (SELECT DATEADD(YEAR, -2, @today)))
raiserror ('Unable to delete', 16,1)
rollback tran
END
トリガはテーブルにないproductidで起動します。
誰にも提案はありますか?
今日この質問を投稿していませんか?今日私はこの正確な質問を見ました。条件ロジックが正しくありません。 OrderテーブルのOrderDateと今日の日付を比較する必要があります。 –