numéro de ligne [Oracle] - Programmation
Marsh Posté le 19-07-2002 à 09:30:53
Sous Oracle, chaque ligne possède un identifiant unique, qui s'appelle ROWID (c'est un alphanumérique).
Si tu fais : select ROWID from Matable
tu obtiens la liste des identifiants de chaque ligne.
Je pense que tu peux utiliser ça pour insérer le ROWID dans une colonne. Maintenant si tu veux que cela soit effectué automatiquement à chaque insertion de ligne, je pense que tu devrais mettre en place un trigger.
Marsh Posté le 19-07-2002 à 09:52:27
Merci ... mais pas très pratique
J'ai bien envie d'utiliser les index
Quelques questions
- Si jamais j'insère des lignes en fin de table, est-ce que les index du début de table vont changer ?
- Oracle crée par défaut des index sur les colonnes clés, mais j'arrive pas à les utiliser ...
Marsh Posté le 19-07-2002 à 13:57:31
Paxman_fr a écrit a écrit : Merci ... mais pas très pratique J'ai bien envie d'utiliser les index Quelques questions - Si jamais j'insère des lignes en fin de table, est-ce que les index du début de table vont changer ? - Oracle crée par défaut des index sur les colonnes clés, mais j'arrive pas à les utiliser ... |
Je crains que tu n'aies quelques idées fausses à propos des index sous Oracle...
Un index n'a aucun lien avec ton problème...
Marsh Posté le 19-07-2002 à 16:33:03
Une solution ...
Soit table T(chp_compteur, chp1,chp2,...)
Tu créés une SEQUENCE (objet Oracle) pour chaque table :
CREATE SEQUENCE ma_sequence START WITH 0
et lors de l'insert tu initialises :
Insert into T (chp_compteur, chp1,chp2,...) values
(ma_sequence.nextval,"x",'y", ...)
select ma_sequence.currval from dual; donne 1 après l'insert
Marsh Posté le 19-07-2002 à 08:57:55
Salut
Quelle commande utiliser pour attribuer comme valeur par défaut d'une colonne le numéro de ligne ?