sql >> Database teknologi >  >> RDS >> Oracle

Oracle SQL Check-begrænsning mellem 2 tabeller

Du bør oprette trigger.

Prøv dette

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. MySql-fejl 150 - Fremmednøgler

  2. Postgresql COPY-kommando, der giver tilladelser nægtet fejl

  3. Indstilling af postgresql-adgangskode med Vagrant/Chef-solo

  4. Upload af billeder til Remote Server, iPhone