sql >> データベース >  >> RDS >> Oracle

2つのテーブルで実行されるトリガーの作成

    これは完璧に機能しました。

    CREATE OR REPLACE TRIGGER checkDuration
      BEFORE INSERT OR UPDATE on offering
      FOR EACH ROW
    DECLARE
      isFound NUMBER;
    BEGIN
      SELECT 1 INTO isFound FROM DUAL WHERE EXISTS (
        SELECT * FROM Course c
        WHERE c.courseId = :new.courseId AND c.duration = 5);
      IF EXTRACT(MONTH FROM :new.startDate) = 12 
        THEN RAISE_APPLICATION_ERROR(-20001, 'Courses of five days duration cannot be run in December');
      END IF;
    EXCEPTION
      WHEN NO_DATA_FOUND THEN
        NULL;
    END;
    


    1. MySQLはmysqlの結果を再フォーマットしてjsonhansontableに適合させます

    2. SQL Serverのテーブル値関数とは何ですか?

    3. MySql SELECT INTO変数:nullを返します

    4. 接続プールの問題