-1

ちょっとした質問があります。私は2つのテーブルを持っています:

CREATE TABLE park(parkcode CHAR(5), name CHAR(15));

CREATE TABLE ticket(date_purchase_ticket TIMESTAMP, parkcode CHAR(5));

私がやろうとしているのは、テーブルから行を削除したいときにpark、トリガーが最初に特定の日付以降に購入があったかどうかを確認するトリガーを作成することです。特定の日付以降に購入がなかった場合にのみ、テーブルからその行を削除できますpark

4

2 に答える 2

1

から行を削除したいときに呼び出すことができるプロシージャを作成することを考える必要がありますpark

次のようなもの:

DELIMITER //

CREATE PROCEDURE DeleteIfNoPurchases (IN code CHAR(5),
                                      IN date TIMESTAMP)
BEGIN
    IF (SELECT MAX(date_purchase_ticket)
         FROM ticket
         WHERE parkcode = code) < date THEN
        DELETE FROM park WHERE parkcode = code; 
    END IF;
END//

DELIMITER ;

次に、削除するコードとテストするタイムスタンプを指定して呼び出すことができます。

于 2012-06-08T17:13:19.760 に答える
0

トリガーで行を削除することを防ぐことはできません。

于 2012-06-07T22:17:17.127 に答える