Bonjour,
Est ce que quelqu'un si dans la nouvelle version d'oracle (11), la notion d'auto increment existe ?
Merci d'avance.
Raphaël
Bonjour,
Est ce que quelqu'un si dans la nouvelle version d'oracle (11), la notion d'auto increment existe ?
Merci d'avance.
Raphaël
ça existe depuis la 7 !
au niveau des datatype, il y a le simple_integer qui est plus performant (enfin, c'est ce qui est annoncé) que le pls_integer
Quand je parle d'auto increment, je parle d'une colonne auto increment dans une table.
Equivalent en mysql : CREATE TABLE tab1 (
col1 MEDIUMINT NOT NULL AUTO_INCREMENT....
Oracle utilise depuis longtemps (bien avant que mySQL n'existe) la notion de séquence pour répondre à ça.
CREATE SEQUENCE ma_sequence START WITH 1 INCREMENT BY 1;
...
les valeurs de la colonne dans la table prendront des valeurs comme
ma_sequence.nextval ...
Merci pour ta réponse.
Mais j'aurai besoin d'une précision : on ne peut pas associé une séquence à une colonne directement, il faut passer par un trigger non ?
Merci d'avance.
Raphaël
Pas vraiment mais il faut utiliser le nom de la séquence à l'endroit qui t'arrange. Ici par exemple pour un ajout :
Il y aura 1 dans la colonne numAff
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE TABLE Affreter (numAff NUMBER(5), comp CHAR(4), immat CHAR(6), dateAff DATE, nbPax NUMBER(3), CONSTRAINT pk_Affreter PRIMARY KEY (numAff)); CREATE SEQUENCE seqAff MAXVALUE 10000 NOMINVALUE; INSERT INTO Affreter VALUES (seqAff.NEXTVAL,'AF','F-WTSS','13-05-2003',85);
Partager