Incrémentation automatique en SQL

Ingrid -  
chuka Messages postés 980 Statut Membre -
Bonjour,
pourriez vous m'indiquer comment forcer l'incrémentation automatique des champs d'une colonne?
Cela se fait trés facilement sous access, mais je travaille avec du sql sous Oracle9i .
Merci d'avance de vos réponses.
Ingrid

4 réponses

Luc MERIEN
 
Polo a raison. La syntaxe est la suivante:
CREATE SEQUENCE nom-sequence
[ INCREMENT BY entier
SATRT WITH entier
MINVALUE entier
MAXVALUE entier
CYCLE (ou NOCYCLE)
CACHE entier (ou NOCACHE)
ORDER (ou NOORDER) ]

A noter que tout ce qui est entre crochets est facultatif.
3
Ingrid
 
Merci pour ta réponse,
je n'arrivais pas à l'implementer donc je me suis arrangée avec des triggers.
Saurais tu comment créer un trigger qui me lance une exception lorsque l'on veut inserer des champs qui existent déja dans la table.Comment éviter la redondance d'information lors d'un insert.

Merci d'avance de ta téponse.

Ingrid
0
Luc MERIEN > Ingrid
 
Salut Ingrid,

pourquoi utiliser un trigger pour gérer la redondance ? Il suffit simplement que tu crées une clé unique sur la table en question. Dès lors qu'un INSERT essaiera de créer un doublon, Oracle lui interdira automatiquement par un message du type "Unique constraint violated". @+
0
sou
 
j'ai besoin d'une aide sur l'insertion d'un champ dans une table à l'aide de sql
0
polo
 
Le mot clé pour cette incrémentation automatique chez oracle s'appelle séquence. Pour créer cette séquence je ne connais pas la synthaxe, mais il y a surement de la doc là dessus!
-1
Ingrid
 
Merci pour ta réponse,
je n'arrivais pas à l'implementer donc je me suis arrangée avec des triggers.
Saurais tu comment créer un trigger qui me lance une exception lorsque l'on veut inserer des champs qui existent déja dans la table.Comment éviter la redondance d'information lors d'un insert.

Merci d'avance de ta téponse.

Ingrid
0
chuka Messages postés 980 Statut Membre 378
 
salut,

la commande basique est: insert into nom_de_ta_table(tes_champs...) values (tes_valeurs...)
Quel est ton prb exactement??

@+
-3