Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1710 connectés 

 


Dernière réponse
Sujet : Oracle & autoincrement
irulan Caractéristique du trigger
 
Fire Trigger : Before Insert
Trigger For Each Row coché
Trigger Body :
declare numrows INTEGER;
begin
select SEQ_NUM.NEXTVAL into  numrows  from dual;
:new.col_id:= numrows;
end;

 
 
SEQ_NUM est le nom de la séquence Oracle, col_id est le nom de la colonne ID, et numrows ne sert que de variable de stockage temporaire.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
irulan Caractéristique du trigger
 
Fire Trigger : Before Insert
Trigger For Each Row coché
Trigger Body :
declare numrows INTEGER;
begin
select SEQ_NUM.NEXTVAL into  numrows  from dual;
:new.col_id:= numrows;
end;

 
 
SEQ_NUM est le nom de la séquence Oracle, col_id est le nom de la colonne ID, et numrows ne sert que de variable de stockage temporaire.
Titalium CREATE SEQUENCE NomSequence;
 
CREATE TRIGGER NomTrigger IS
BEGIN
  NomTable.NomDuChamps := NomSession.NextVal;
END;
 
Je suis pas sur de la syntaxe, mais ça doit être ça en gros...
irulan

seb666 a écrit a écrit :

Comment on fait sous Oracle pour faire un insert dans un champ autoincrementable ???  




 
Oracle ne possède pas de type de champ autoincrementable.
En revanche tu peux mettre en place un trigger sur ta colonne, qui se déclenche lors d'un insert d'une nouvelle ligne, et qui va chercher la NextValue d'une séquence (et ça marche, je l'avais mis en place dans un projet)

 

[jfdsdjhfuetppo]--Message édité par irulan--[/jfdsdjhfuetppo]

seb666 Comment on fait sous Oracle pour faire un insert dans un champ autoincrementable ???

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)