Incrémentation automatique en SQL

Fermé
Ingrid - 21 mars 2002 à 18:29
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 13 oct. 2008 à 14:59
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

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
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
25 mars 2002 à 08:14
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
j'ai besoin d'une aide sur l'insertion d'un champ dans une table à l'aide de sql
0
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
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 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
13 oct. 2008 à 14:59
salut,

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

@+
-3