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

Oracle Discussion :

procedure stocké ?


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Par défaut procedure stocké ?
    salut,

    Je souhaite faire une procedure qui recupere un champs d'une table entrée en parametre et qui modifie ce champs;
    J'ai fait cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    create procedure maxi(tabs varchar,chap varchar) as
     
    begin
     
    update tabs set chap=lower(chap);
     
     
    end;
    /
    j'ai ce message d'erreurs et pourtant je fait un update donc je n'ai pas besoin de faire du sql dynamique ce n'est que pour les drop,create ..table,le sql dynamique;
    [quote]

    SQL> show errors;
    Erreurs pour PROCEDURE MAXI :

    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    5/1 PL/SQL: ORA-01732: les manipulations de données sont interdites
    sur cette vue

    5/1 PL/SQL: SQL Statement ignored
    [quote]

    merci

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    update sur une vue impossible... faut mettre à jour la table correspondante.

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Par défaut
    c'est bizarre;
    j'ai modifier la procedure et quand je fait un start pour la creer il m'affiche toujours une erreur;

    SQL> show errors;
    Erreurs pour PROCEDURE MAXOZ :

    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    5/1 PL/SQL: SQL Statement ignored
    5/8 PL/SQL: ORA-00942: Table ou vue inexistante
    je comprends pas trop parceque normalement je dois faire un start du fichier qui contient le code de ma procedure celui ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    create procedure maxoz(tabe varchar,chape varchar) as
     
    begin
     
    update tabe set chape=lower(chape);
     
     
    end;
    /
    et ensuite cela doit creer ma procedure dans laquelle je pourrai entré en parametre le nom et le champs de la table (respectivement tabe et chape);

  4. #4
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Par défaut
    je viens de voir
    i me faut un curseur pour avoir une boucle et parcourir toute ma table;

  5. #5
    Membre chevronné Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Par défaut
    Je comprends rien a ta procédure.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    create procedure maxoz(tabe varchar,chape varchar) as 
    begin 
    update tabe set chape=lower(chape); 
    end; 
    /
    tu cherches a passer le nom de la table que tu veux mettre a jour dans une variable ? Dans ce cas il faut faire du SQL Dynamique.

    Pareil avec le nom de ta colonne "chape" c'est ta colonne ou une varaible qui contient son nom.

  6. #6
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Par défaut
    ouai c'est ce que j'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    create or replace procedure maxoz(chape varchar) as
     
     
    begin
     
    execute immediate
    'update document set '||chape||'=upper('||chape||')';
     
     
    end;
    /

Discussions similaires

  1. Ecriture d'une procedure stockée XP
    Par WOLO Laurent dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/07/2003, 13h09
  2. Réponses: 1
    Dernier message: 04/06/2003, 11h48
  3. procedure stockée champ date
    Par tripper.dim dans le forum SQL
    Réponses: 5
    Dernier message: 25/04/2003, 09h47
  4. Appel a une procedure stockée en vba
    Par The_Nail dans le forum VBA Access
    Réponses: 36
    Dernier message: 01/04/2003, 16h44
  5. procedure stockée dans un dbbatch
    Par pram dans le forum XMLRAD
    Réponses: 4
    Dernier message: 07/02/2003, 16h35

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