Bonjour à tous,
Etant chargé d'une migration Mysql => Oracle,
je pensais regler la question des "autoincrementes" avec des couples Sequences/Triggers.
Tout marche trés bien quand je crée ma sequence, puis mon trigger, dans SQL+.
Le probleme c'est que j'aimerai pouvoir créer toute la base d'un seul coup depuis un seul script( avec un START 'fichier.sql'). Mais lorsque je lance mon script sous SQL+ (ou Toad ou tout autre utilitaire), celui-ci me demande une valeur de variable ?!
Code :
- DROP SEQUENCE SEQ_TBLPUBLICATIONS;
- CREATE SEQUENCE SEQ_TBLPUBLICATIONS INCREMENT BY 1 START WITH 1 MAXVALUE 1.0E28 MINVALUE 1 NOCYCLE CACHE 20 NOORDER;
- CREATE OR REPLACE TRIGGER TRI_TBLPUBLICATIONS BEFORE INSERT ON TBLPUBLICATIONS FOR EACH ROW
- DECLARE
- N_NEXTVAL NUMBER;
- BEGIN
- SELECT SEQ_TBLPUBLICATIONS.NEXTVAL INTO N_NEXTVAL FROM DUAL;
- :NEW.PUBID := N_NEXTVAL;
- END;
|
Il s'arrete juste avant de me creer mon trigger et attend une valeur pour une variable! Alors que si je fais un copier/coller du bout créent le trigger ca marche trés bien ....
DURA SYNTAXUM
SED SYNTAXUM
.. et j'en perds mon latin !!
Message édité par bartleby le 08-10-2003 à 11:07:38