[fixed]
CREATE TABLE MUTUELLES
(
REF_MUTUELLE NUMBER(10) NOT NULL,
CONSTRAINT CPMUTUELLE PRIMARY KEY (REF_MUTUELLE),
NOM_MUTUELLE VARCHAR2(50) NOT NULL
);
CREATE TABLE PATIENTS
(
NUM_MUTUELLE NUMBER(10) NOT NULL,
CONSTRAINT CPPATIENT PRIMARY KEY (NUM_MUTUELLE),
NOM_PATIENT VARCHAR2(30) NOT NULL,
PRENOM_PATIENT VARCHAR2(30) NOT NULL,
SEXE_PATIENT VARCHAR2(1), CONSTRAINT CHEK_SEXE CHECK (SEXE_PATIENT IN ('M','F')),
DATENAISS_PATIENT DATE,
GSM_PATIENT VARCHAR(10),
REF_MUTUELLE NUMBER(10),
CONSTRAINT CEMUTUELLE FOREIGN KEY (REF_MUTUELLE) REFERENCES MUTUELLES (REF_MUTUELLE)
);
CREATE OR REPLACE TRIGGER VerifDateNaiss
BEFORE INSERT OR UPDATE OF DATENAISS_PATIENT ON PATIENTS
FOR EACH ROW
begin
WHEN (new.DATENAISS_PATIENT >= SYSDATE) -- :new ??
RAISE_APPLICATION_ERROR(-20001,'Date de Naissance doit être inferieur à la date du jour');
end;
[/fixed]
Ca chez moi ca passe...
(je viens de le faire et c'est un copié collé)
Si ca passe pas, c'est un pb de config (genre grant sur trigger)