Maison  >  Article  >  base de données  >  Comment utiliser des séquences et des déclencheurs pour implémenter l'incrémentation automatique d'ID dans Oracle (exemple de code)

Comment utiliser des séquences et des déclencheurs pour implémenter l'incrémentation automatique d'ID dans Oracle (exemple de code)

不言
不言avant
2019-01-30 09:53:543633parcourir

Le contenu de cet article concerne la méthode (exemple de code) d'utilisation de séquences et de déclencheurs pour implémenter l'incrémentation automatique d'ID dans Oracle. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. pour vous.

Lors de la conception de la base de données, Oracle n'a pas de fonction similaire au système de SQL Server qui attribue automatiquement les ID comme clés primaires. À l'heure actuelle, Oracle peut réaliser la fonction d'augmentation automatique des ID via des « séquences » et. "déclencheurs".

1.Créer une séquence Séquence

create sequence seq_uid
  increment by 1   
  start with 1    
  nomaxvalue    
  nocycle   
  cache 10 ;

Où : "seq_uid" représente le nom de la séquence personnalisée ;

  "commencer par 1" signifie que la valeur de séquence commence à partir de 1 ;

  "incrémenter de 1" signifie que la valeur de séquence augmente de 1 à chaque fois.

Comment utiliser la séquence :

select seq_uid.nextval ID from dual

De cette façon, vous obtiendrez la valeur suivante de la séquence, et mettrez ceci Dans le déclencheur, vous pouvez obtenir une fonction similaire à l'incrémentation automatique de l'ID dans SQL Server.

2.Créer un déclencheur Déclencheur

create trigger tri_uid before insert on [tablename] for each row when (new.[columnname] is null)
begin
    select seq_uid.nextval into:new.[columnname] from dual;
end;

où : "tri_uid" Indique un nom de déclencheur personnalisé ; [nom de la table]" indique la table de données où se trouve la colonne à incrémenter automatiquement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer