Créer un champ de type Numéro Auto sur oracle 9I

chewawa
Messages postés
7
Date d'inscription
jeudi 29 octobre 2009
Statut
Membre
Dernière intervention
22 avril 2013
- 30 avril 2010 à 12:46
Boreux
Messages postés
45
Date d'inscription
jeudi 31 juillet 2003
Statut
Membre
Dernière intervention
29 novembre 2010
- 29 nov. 2010 à 16:32
Salut
comment créer un champ de type Numéro Auto sur oracle 9i?
Merci

1 réponse

Boreux
Messages postés
45
Date d'inscription
jeudi 31 juillet 2003
Statut
Membre
Dernière intervention
29 novembre 2010

29 nov. 2010 à 16:32
Tu dois créer une séquence :

CREATE SEQUENCE MA_SEQUENCE INCREMENT BY 1 START WITH 1 MINVALUE 0 NOCYCLE NOCACHE NOORDER;

Ensuite, chaque fois que tu insères un article dans ta table, tu indiques la séquence :

Exemple,
CREATE TABLE TEST
(
ID_UNIQUE NUMBER,
NOM VARCHAR2(50)
)

INSERT INTO TEST VALUES (MA_SEQUENCE.NEXTVAL, 'DUDULE');

Tu pourrais contrôler çà par un trigger, c'est mieux

INSERT INTO TEST (NOM) VALUES ('DUDULE');

Et dans le trigger before insert :

CREATE OR REPLACE TRIGGER trg_TEST_BI BEFORE insert ON TEST FOR EACH ROW
BEGIN
IF :NEW.ID_UNIQUE IS NULL THEN
select ID_UNIQUE.NEXTVAL into :NEW.ID_UNIQUE from dual;
END IF;
END ;





--- Ced ---
0