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

2つのテーブル間のOracleSQLチェック制約

    トリガーを作成する必要があります。

    これを試してください

    CREATE OR REPLACE TRIGGER   my_trg
                  BEFORE INSERT OR UPDATE ON Relationships
                     FOR EACH ROW
      declare
         function i_Age(id int) return int is
         li_res int;
         begin
           select p.Age
            into li_res 
            from Persons p 
            where p.ID= id 
             and rownum=1;
            return li_res;
        exception when no_data_found then
        return NULL; --or Throw Exception depend on your logic if some datas not found
         end;
    
         BEGIN
          IF INSERTING OR UPDATING THEN
              IF :NEW.Relation == 'child' and i_Age(:NEW.Person_ID) < i_Age(:NEW.Relative_ID)  then 
               NULL; --Throw Exception or your logic
              END IF;
          END IF;
       END;
    


    1. pymysqlを使用してストアドプロシージャを介してpyodbcmssqlクエリから返されたリストをmysqlに挿入するにはどうすればよいですか?

    2. カウントレコードがMySQLDoctrineを返しました

    3. SELECTステートメントを使用したカスタムpostgresqlパラメーターのクエリ

    4. ASCII()の例– MySQL