Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
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/04/2011, 16h50   #1
Candidat au titre de Membre du Club
 
Axelle Dacquin
Inscription : septembre 2010
Messages : 37
Détails du profil
Informations personnelles :
Nom : Axelle Dacquin

Informations forums :
Inscription : septembre 2010
Messages : 37
Points : 11
Points : 11
Par défaut Procédure : instruction SQL non valide

Bonjour,

Je crois que je vais hurler alors je vous demande un peu d'aide !
Voilà, j'ai installé Oracle Express 10g et j'ai créer une procédure test dont voici le code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
CREATE OR REPLACE PROCEDURE Test IS
BEGIN
    INSERT INTO DESCITIN_TS
     (
        ID_DESCITIN_TS,
        CODE_ITIN,
        NOM_ITIN,
        DESCRIPTION_ITIN,
        COMMUNE_DEPART,
        COMMUNE_FIN,
        LONGUEUR_TOTALE
     )
     SELECT
          ITIN_TS_SEQ.NEXTVAL
         ,CODE_ITIN
         ,NOM_ITIN
         ,DESCRIPTION_ITIN
         ,COMMUNE_DEPART
         ,COMMUNE_FIN
         ,LONGUEUR_TOTALE
       FROM
         PARCOURS_SEGMENT_TEMP
       WHERE
          CODE_ITIN NOT IN (SELECT CODE_ITIN FROM DESCITIN_TS);
END
Pas d'erreur de compilation sur cette procédure.
L'exécution de la requête se passe sans soucis dans l'éditeur de commande SQL, mais quand je lance ma magnifique procédure avec le commande
J'obtiens l'erreur suivante :
Code :
ORA-00900: instruction SQL non valide
J'ai lu toute la doc PL/SQL, je ne vois pas le gros bouton au milieu de la figure !

Merci de votre aide !
Macao35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 17h06   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 442
Points : 10 442
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Une procédure s'appelle avec du PL/SQL :
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 17h36   #3
Candidat au titre de Membre du Club
 
Axelle Dacquin
Inscription : septembre 2010
Messages : 37
Détails du profil
Informations personnelles :
Nom : Axelle Dacquin

Informations forums :
Inscription : septembre 2010
Messages : 37
Points : 11
Points : 11
Merci beaucoup :

Si je puis me permettre, pour lancer cette procédure dans un fichier de commande ?
1 - je crée une requete test.sql avec Begin - End
2 - je lance la ligne de commande : sqlplus user/password test.sql

Merci
Macao35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 11h00   #4
Membre expérimenté
 
François
Inscription : février 2010
Messages : 305
Détails du profil
Informations personnelles :
Nom : François

Informations forums :
Inscription : février 2010
Messages : 305
Points : 535
Points : 535
Pour executer le block pl/sql depuis un script sql, il ne faudra pas oublier un "/" apres.
Sinon, pour votre seconde question:
Ca fonctionne quand vous essayez? Si oui, ca marche. Sinon faut dire ce qui ne fonctionne pas.

ProTip:
Dans google, une phrase qui marche super bien pour trouver des infos c'est:
oracle <blabla en anglais>
Et ca trouve a peu pres tout et n'importe quoi.
EX:
Pour executer une
Click to View Search Results for fonction fonction
ou une
Click to View Search Results for procedure procedure
. Dans les deux cas, le premier lien est exactement ce qu'il vous faut.
Rams7s 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 08h39.


 
 
 
 
Partenaires

Hébergement Web