IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

utilisation des Procedures


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 30
    Points : 27
    Points
    27
    Par défaut utilisation des Procedures
    Bonjour les amis,
    svp, j'ai un probleme lorsque je veux utiliser l'instruction ALTER TABLE à l'interieur d'une procedure ça ne marche plus

    create or replace PROCEDURE SUPPRIMER_CLN AS
    BEGIN
    ALTER TABLE entete
    DROP ( BUREAUDOUANIER2, REGIMEDOUANIER2, NUMDECLARATION2, CENTRERC2, REGISTRECOMMERCE2, AGREMENT2, REPERTOIRE2 );
    END SUPPRIMER_CLN;

    Error(4,1): PLS-00103: Symbole "ALTER" rencontré à la place d'un des symboles suivants : begin case declare exit for goto if loop mod null pragma raise return select update while with <identificateur> <identificateur entre guillemets> <variable bind> << close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe

    ---------

    alors que le meme contenu de la procedure s'il est hors de la procedure s'execute sans prb

    ALTER TABLE entete
    DROP ( BUREAUDOUANIER2, REGIMEDOUANIER2, NUMDECLARATION2, CENTRERC2, REGISTRECOMMERCE2, AGREMENT2, REPERTOIRE2 );

    si qlq1 peut m'aider, je vous remercie infinement

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Question posée 100 fois....
    Utilisez EXECUTE IMMEDIATE 'ALTER TABLE ...' ;
    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

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 30
    Points : 27
    Points
    27
    Par défaut
    Bonjour SheikYerbouti,
    je ss une débutante, c'est pour cela je pose encore des question déja posée,.Néanmoins j'ai fait une petite recherche sur le net mais en vain.

    je serais trés reconnaissante si vous pouvez m'expliquer votre réponse
    EXECUTE IMMEDIATE 'ALTER TABLE ...'

    je ne voie pas ici aucune procedure. on m'a demandé une procedure stocké qui fait la suppression.

    je vous remercie d'avance

  4. #4
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    En d'autres termes, les ordres du DDL ne sont pas autorisés directement dans un bloc PL/SQL. Vous devez les encapsuler dans une instruction EXECUTE IMMEDIATE.

    Dans votre procédure, vous remplacez votre instruction ALTER TABLE ... par l'Execute immediate qui contient le même ordre dans une chaîne de caractères.
    http://sheikyerbouti.developpez.com/execute_immediate/
    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

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 30
    Points : 27
    Points
    27
    Par défaut
    Bonjour,

    Merci bcp pour votre éclaircissement, je suis entrain d'essayer EXECUTE IMMEDIATE

Discussions similaires

  1. L'utilisation des RPC(Remote Procedure Call)
    Par red_devil617 dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 1
    Dernier message: 23/02/2008, 00h30
  2. Utilisation des procedures stockées en VBA
    Par tribaleur dans le forum VBA Access
    Réponses: 6
    Dernier message: 20/02/2008, 15h18
  3. utilisation des sockets sous windows
    Par Tupac dans le forum Réseau
    Réponses: 2
    Dernier message: 21/12/2002, 18h24
  4. [Crystal Report] Utilisation des vues de sql serveur
    Par Olivierakadev dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 15/11/2002, 17h44
  5. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo