Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
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 05/04/2008, 01h05   #1
Membre du Club
 
Étudiant
Inscription : janvier 2007
Messages : 199
Détails du profil
Informations personnelles :
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2007
Messages : 199
Points : 41
Points : 41
Envoyer un message via MSN à aldama Envoyer un message via Yahoo à aldama
Par défaut choisir le meilleur déclencheur

slt à vous
j'ai créé une sequence seq_ville dans le but de renseigner automatiquement mon champ cod_ville de mon formulaire qui est la clé primaire de ma table ville.

j'appel ma sequence par la syntaxe:
Code :
1
2
3
4
5
6
7
8
9
10
 
declare
	cursor cur_ville IS SELECT seq_ville.NEXTVAL FROM ville;
	x number;
begin
	open cur_ville;
	fetch cur_ville INTO x;
:VILLE.Cod_ville:=x;
	close cur_ville;
end;
losque je l'appel au niveau du post-query de mon bloc de donnée, et que je veu faire un enrégistrement, on me demande de renseigner le champs cod_ville.
Comment faire pour que le champ cur_ville soit renseigné automatiquement avant chaq enregistrement et comment empecher un utilisateur de de saisir dans ce dit-champ.

Merci de votre aide et bon debut de week à vous!!
aldama est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2008, 07h40   #2
Membre confirmé
 
Avatar de DAB.cz
 
Inscription : octobre 2006
Messages : 221
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 221
Points : 214
Points : 214
vois http://www.developpez.net/forums/sho...extval+trigger
DAB.cz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2008, 18h59   #3
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
Ou bien dans le trigger pre_insert de ton block ville.
Code :
1
2
3
4
5
6
 
begin
     SELECT seq_ville.NEXTVAL 
     INTO :VILLE.Cod_ville
     FROM dual ;
end;
Une petite remarque :
Code :
1
2
3
 
SELECT seq_ville.NEXTVAL FROM ville ; --est incorrect
SELECT seq_ville.NEXTVAL FROM  dual ; -- correct
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2008, 23h16   #4
Membre du Club
 
Étudiant
Inscription : janvier 2007
Messages : 199
Détails du profil
Informations personnelles :
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2007
Messages : 199
Points : 41
Points : 41
Envoyer un message via MSN à aldama Envoyer un message via Yahoo à aldama
Par défaut merci

merci de vos conseil mais je choisi kel déclencheur?
aldama est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2008, 08h41   #5
Membre confirmé
 
Avatar de DAB.cz
 
Inscription : octobre 2006
Messages : 221
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 221
Points : 214
Points : 214
Code :
1
2
3
4
5
6
7
8
CREATE OR REPLACE TRIGGER trg_ville
    BEFORE INSERT
    ON ville
    FOR EACH ROW
    WHEN (NEW.cod_ville IS NULL)
BEGIN
    SELECT seq_ville.NEXTVAL INTO :NEW.cod_ville FROM DUAL;
END;
DAB.cz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 11h49   #6
Membre du Club
 
Étudiant
Inscription : janvier 2007
Messages : 199
Détails du profil
Informations personnelles :
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2007
Messages : 199
Points : 41
Points : 41
Envoyer un message via MSN à aldama Envoyer un message via Yahoo à aldama
Par défaut oui mais...

merci encore mais je suis un peu perdu
où dois-je créer le trigger, au niveau du formulaire ou au niveau de Oracle sql+.
Si c'est au niveau du formulaire, ou exactement(declencheur)?
j'ai essayé au viveau de mon bouton valider (when-button-pressed), de mon bloc de donnée ville (Post_querry) mais ca ne marche pas.
pour la syntaxe du trrigger, ca peut aller, je crois; seulement je sais pas ou créer mon trigger.
merci de votre compréhension et de votre aide
aldama est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 11h52   #7
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 534
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 534
Points : 6 471
Points : 6 471
Si vous êtes focalisé sur une solution 100% Forms, choisissez la solution de Salim11.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 12h29   #8
Membre du Club
 
Étudiant
Inscription : janvier 2007
Messages : 199
Détails du profil
Informations personnelles :
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2007
Messages : 199
Points : 41
Points : 41
Envoyer un message via MSN à aldama Envoyer un message via Yahoo à aldama
Par défaut message d'erreur

merci mais lorsque j'utilise la syntaxe de salim11 au niveau du trigger pre_insert, à savoir
begin
SELECT seq_ville.NEXTVAL
INTO :VILLE.Cod_ville
FROM dual ;
end;
on me ramène un message d'erreur comme suit: l'identificateur 'DUAl' doit etre déclarée.
que dois-je faire d'autre?
aldama est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 13h47   #9
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 534
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 534
Points : 6 471
Points : 6 471
Vous êtes connecté à la base ?
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 13h59   #10
Membre du Club
 
Étudiant
Inscription : janvier 2007
Messages : 199
Détails du profil
Informations personnelles :
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2007
Messages : 199
Points : 41
Points : 41
Envoyer un message via MSN à aldama Envoyer un message via Yahoo à aldama
Par défaut ca commence à aller

oui je suis connecté..
j'ai fini par resoudre le problème, seulement l'incrementation commence par 21.
comment le ramener à 1?
merci
aldama est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 13h59   #11
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 534
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 534
Points : 6 471
Points : 6 471
Il faut recréer la séquence.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 14h08   #12
Membre du Club
 
Étudiant
Inscription : janvier 2007
Messages : 199
Détails du profil
Informations personnelles :
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2007
Messages : 199
Points : 41
Points : 41
Envoyer un message via MSN à aldama Envoyer un message via Yahoo à aldama
Par défaut cool

ok, merci beaucoup, j'essai pour voir
aldama est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 14h51   #13
Membre du Club
 
Étudiant
Inscription : janvier 2007
Messages : 199
Détails du profil
Informations personnelles :
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2007
Messages : 199
Points : 41
Points : 41
Envoyer un message via MSN à aldama Envoyer un message via Yahoo à aldama
Par défaut merci

ok, je crois que ca marche parfaitement.
merci de vos soutient et de motre patience.
bonne journée à vous,
aldama 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 23h39.


 
 
 
 
Partenaires

Hébergement Web