Erreur PLS-00103

Résolu
demiebruce Messages postés 15 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 28 octobre 2005 - 27 oct. 2005 à 15:23
demiebruce Messages postés 15 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 28 octobre 2005 - 28 oct. 2005 à 09:28
Bonjour,

Voila je débute en PL/SQL sous Oracle...
J'essaie de créer une procédure stockée toute bete mais à chaque fois ke je la compile j'ai Invalid qui apparait...

DECLARE
NomEmploye VARCHAR2(20);
BEGIN
SELECT EMP_PERS INTO NomEmploye
FROM GES_GONG WHERE CONG_ID = 'CONG0510002';
END;

Quand je fais Show errors dans Oracle SQL+ j'ai ce message ki apparait :

LINE/COL ERROR
-------- -----------------------------------------------------------------
1/34 PLS-00103: Symbole "DECLARE" rencontré à la place d'un des
symboles suivants :
( ; is with authid deterministic parallel_enable as compress
compiled wrapped


6/4 PLS-00103: Symbole "end-of-file" rencontré à la place d'un des
symboles suivants :
begin declare end exception exit for goto if loop mod null
pragma raise return select update while
<<
close current delete fetch lock insert open rollback


LINE/COL ERROR
-------- -----------------------------------------------------------------
savepoint set sql execute commit forall


Je sais plus koi faire...

Merci de votre aide

4 réponses

mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
27 oct. 2005 à 18:07
Salut,

Pas gd chose à voir avec VB tout ça :)

La syntaxe pr créer une PS est :
CREATE OR REPLACE MY_PROC
IS
BEGIN
DECLARE
NomEmploye VARCHAR2(20);
BEGIN
SELECT EMP_PERS INTO NomEmploye
FROM GES_GONG WHERE CONG_ID = 'CONG0510002';
END;
END MY_PROC;
/

Le MY_PROC à la fin est facultatif, mais c'est plus joli
3
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
27 oct. 2005 à 20:46
Ah je viens de voir que j'ai oublié le mot-clé PROCEDURE

=> CREATE OR REPLACE PROCEDURE MY_PROC



Pour récupérer le contenu de ta variable, tu dois en faire une fonction :

CREATE OR REPLACE FUNCTION MY_FCT RETURN VARCHAR2

IS

BEGIN

DECLARE

NomEmploye VARCHAR2(20);

BEGIN

SELECT EMP_PERS INTO NomEmploye

FROM GES_GONG WHERE CONG_ID = 'CONG0510002';

RETURN NomEmploye;

END;

END MY_FCT;
3
demiebruce Messages postés 15 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 28 octobre 2005
27 oct. 2005 à 18:45
Merci de ta réponse. J'ai réussi à créer cette procédure.

Comment fais t'on pour récuperer ce qui a ete mis dans la variable EmployeNom?

Merci encore uen fois de ta réponse.
0
demiebruce Messages postés 15 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 28 octobre 2005
28 oct. 2005 à 09:28
Bonjour mrdep1978,

Merci encore une fois de ta réponse,
Je crois que je suis paré pour écrire des fonctions et des procédures.
Grandement merci et pour le mot clé je m'étais douté qu'il manquait le mot clé et j'avais corrigé par moi-même.

Encore merci

Demiebruce
0
Rejoignez-nous