begin process at 2008 07 25 13:05:21
1 216 220 membres
184 nouveaux aujourd'hui
14 180 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : PB TRIGGER [ Oracle / Requêtes ] (sy3ns)

PB TRIGGER le 17/03/2008 13:33:34

sy3ns
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;

END;
/
-------------------------------------------------------------------------------------------------------------------------
L'ERREUR:

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  -




Re : PB TRIGGER le 17/03/2008 18:28:40

Arthenius
Membre Club

avec un

SELECT @datedepart = datedepart, @datearrivee = datearrivee FROM UPDATED;

ca ne marcherait pas ??? plutot que ton new.datedepart et  new.datearrivee


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."


Re : PB TRIGGER le 27/03/2008 09:18:41

sy3ns
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?



Re : PB TRIGGER le 27/03/2008 11:20:36

Arthenius
Membre Club
une variable simplement

Declare @datedepart datetime, @datearrivee datetime;

SELECT @datedepart = datedepart, @datearrivee = datearrivee FROM UPDATED;




Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."



Classé sous : date, reservation, trigger, datedepart, datearrivee

Participer à cet échange

Livres en rapport

Pub



Appels d'offres

Animation Flash alimen...
Budget : 6 000€
Creation portail video
Budget : 3 000€
Site de e-commerce
Budget : 5 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS