Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/05/2007, 10h17   #1
Rédacteur
 
Avatar de aityahia
 
Idir AIT YAHIA
Inscription : mars 2006
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Idir AIT YAHIA
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 1 837
Points : 2 183
Points : 2 183
Envoyer un message via MSN à aityahia Envoyer un message via Yahoo à aityahia Envoyer un message via Skype™ à aityahia
Par défaut [FireBird 2.0] Générateur et champs AutoInc

salut a tous
j'ai créer un générateur pour un champs AutoInc mais il ne fonctionne pas automatiquement est ce qu'il faut que je l'appel depui mon programme a chaque insertion.
aityahia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 10h22   #2
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 758
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 758
Points : 6 779
Points : 6 779
Salut

Citation:
Envoyé par aityahia
est ce qu'il faut que je l'appel depui mon programme a chaque insertion.
Il est préférable de l'appeler depuis un trigger before insert.
Code :
1
2
3
4
5
6
7
 
CREATE TRIGGER MATABLE_BI FOR MATABLE
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.ID IS NULL) then NEW.ID = GEN_ID(MATABLE_ID_GEN,1);
END
@+
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 10h22   #3
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Non, tu n'as pas à l'appeler.

Par contre, il faut créer un Trigger "before insert". c'est ce trigger qui s'occupe de gérer l'autoInc.

Fais une recherche sur le forum, il y a des exemples pour ce type de trigger.
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 10h47   #4
Rédacteur
 
Avatar de aityahia
 
Idir AIT YAHIA
Inscription : mars 2006
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Idir AIT YAHIA
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 1 837
Points : 2 183
Points : 2 183
Envoyer un message via MSN à aityahia Envoyer un message via Yahoo à aityahia Envoyer un message via Skype™ à aityahia
Citation:
Envoyé par Cl@udius
Salut



Il est préférable de l'appeler depuis un trigger before insert.
Code :
1
2
3
4
5
6
7
 
CREATE TRIGGER MATABLE_BI FOR MATABLE
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.ID IS NULL) then NEW.ID = GEN_ID(MATABLE_ID_GEN,1);
END
@+

j'ai créer le générateur et le composant UIB Dataset prend en charge sont éxécution je vais essai avec un trigger.

PS: si ce champs est une clé primaire avec des données je n'arrive pas a appler un commit pour l'activation du trigger (il me dit que le trigger peut générer des champs en double) meme si j'ai 1,2,3,4 et j'initialise mon trigger a 5.
aityahia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 10h52   #5
Rédacteur
 
Avatar de aityahia
 
Idir AIT YAHIA
Inscription : mars 2006
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Idir AIT YAHIA
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 1 837
Points : 2 183
Points : 2 183
Envoyer un message via MSN à aityahia Envoyer un message via Yahoo à aityahia Envoyer un message via Skype™ à aityahia
pour le trigger sa marche
aityahia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h42.


 
 
 
 
Partenaires

Hébergement Web