Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels 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 23/12/2010, 17h46   #1
Membre du Club
 
bean sean
Inscription : avril 2010
Messages : 120
Détails du profil
Informations personnelles :
Nom : bean sean
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : avril 2010
Messages : 120
Points : 46
Points : 46
Par défaut Exécution d'une procédure et bug

Bonsoir,

je viens de créer une procédure nommé AjoutPersonne:

Code :
1
2
3
4
5
 
CREATE OR REPLACE procedure AjoutPersonne(pNom IN varchar2, pPrenom IN varchar2, pAge IN number) IS
begin
	INSERT INTO Personne (Nom, Prenom, Age) VALUES (pNom, pPrenom, pAge);
END;
La création de la procédure a été faite avec succès !

J'éxecute la procédure sous Oracle SQL Developper avec Oracle 10g :
Code :
1
2
 
AjoutPersonne("BILL", "GATES", 50);
et là le problème :
Code :
1
2
3
4
5
 
Erreur commençant à la ligne 1 de la commande :
AJOUTPERSONNE("BILL", "GATES", 50)
Rapport d'erreur :
Commande inconnue
je ne comprends rien
Merci,
seanbean est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 23/12/2010, 20h26   #2
Membre actif
 
Inscription : février 2007
Messages : 167
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 167
Points : 161
Points : 161
Par défaut Begin end;

Bonjour,

AjoutPersonne n'est pas connu comme commande sql.
Votre procédure est du PlSql que vous pouvez évoquer depuis PlSql.
C'est à dire entre un Begin et un End;

Code :
1
2
3
4
5
 
Begin
  AjoutPersonne("BILL", "GATES", 50);
End;
/
pozzo
Pozzo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 21h57   #3
Membre du Club
 
bean sean
Inscription : avril 2010
Messages : 120
Détails du profil
Informations personnelles :
Nom : bean sean
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : avril 2010
Messages : 120
Points : 46
Points : 46
J'ai essayé mais ça ne marche pas aussi.

Je travaille sur Oracle Sql Developper.

Je me connecte avec l'utilisateur SYSTEM à chaque fois :
-pour créer des procédures ou triggers.
-pour interroger la base et essayer d'éxecuter des procédures.

Je suis bloqué à cause de cela.
seanbean est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/12/2010, 01h21   #4
Membre actif
 
Inscription : février 2007
Messages : 167
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 167
Points : 161
Points : 161
Bonsoir,

"Ca ne marche pas" c'est un peu vague.
Qu'obtenez comme message d'erreur ?

Deux commentaires tout de même :
1) Le délimiteur de chaine de caractère c'est ' et pas '. Je ne l'avais pas remarqué quand j'ai copié collé.
Donc ce serait plutôt :

Code :
1
2
3
4
5
 
Begin
  AjoutPersonne('BILL', 'GATES', 50);
End;
/
C'est le fait de bosser avec Bill gates sous Oracle qui m'a perturbé.

2) Si c'est un job d'étude c'est bien mais un pro ne créerait pas d'objet sous le compte SYSTEM dont le but est d'administrer la base.
On se sert de system pour créer un compte Oracle, puis on crée les objets depuis ce compte.

Mais bon...
Que donne la commande avec les ' ?

Pozzo
Pozzo est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/12/2010, 06h40   #5
Membre du Club
 
bean sean
Inscription : avril 2010
Messages : 120
Détails du profil
Informations personnelles :
Nom : bean sean
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : avril 2010
Messages : 120
Points : 46
Points : 46
Merci de ta réponse !
Et oui Microsoft et Oracle c'est un peu bizzare dans un code source .

Pour ta méthode, c'est impeccable ça marche très très bien sans erreur !
Merci pour les précisions sur System comme ça je prendrai de bonnes habitudes.
seanbean 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 10h55.


 
 
 
 
Partenaires

Hébergement Web