sy3ns
Messages postés80Date d'inscriptionlundi 20 février 2006StatutMembreDernière intervention16 avril 2008
-
17 mars 2008 à 13:33
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 2011
-
27 mars 2008 à 11:20
J'ai une table dans ma base de donnée reservation
CREATE TABLE reservation
(
...
datearrivee date NOT NULL,
datedepart date NOT NULL,
...
) ;
---------------------------------------------------------------------------------------------------------------
Je souhaiterais faire le trigger suivant lorsque l'on fait un update pour modifier la date de depart ou la date d'arrivée si la date de depart est superieure a la date d'arrivée datedepart >datearrivee
alors on modifie de la maniere suivante pour que l'on ai sa datedepart < datearrivee
-------------------------------------------------------------------------------------------------------------------------------------------------
MON TRIGGER: CREATE OR REPLACE TRIGGER modification_dat
AFTER UPDATE OF datedepart,datearrivee ON reservation
DECLARE
BEGIN
IF (new.datedepart > new.datearrivee)THEN
update reservation
set reservation.datedepart = :new.datearrivee
and reservation.datearrivee = :new.datedepart
raise_application_error(-20001,'ATTENTION');
ELSE
raise_application_error(-20001,'modification effectuée');
END IF;
SQL> @trigger
AFTER UPDATE OF datedepart,datearrivee ON reservation
*
ERROR at line 2:
ORA-04082: NEW or OLD references not allowed in table level triggers
Je voulais savoir ou plutot comprendre à quoi servent les differentes utilisation des :
exemple:
la difference enter new.champs et :new.champs
la difference entre : = et = en PL SQL
J'espere qu'on pourra m'aider....
- Merci pour votre éventuel coup de main -
sy3ns
Messages postés80Date d'inscriptionlundi 20 février 2006StatutMembreDernière intervention16 avril 2008 27 mars 2008 à 09:18
une petite question je vois souvent dans @ en pl /sql, je sais qu'il faut en mettre un lorsqu'on decide de charger un fichier.sql @fichier mais qu'est ce que @ dans cette syntaxe SELECT @datedepart datedepart, @datearrivee datearrivee FROM UPDATED;
@datedepart = :new.datedepart?