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 :

Pb execution truncate


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Par défaut Pb execution truncate
    Bonjour,

    J'ai creer une procedure stocke sur Oracle afin qu'il me puisse supprimer le contenu d'une table. La subtilite est que j'ai 2 base de donnees. Je voudrais qu'a partir de la premiere base de donnees dans lequel j'execute ma requete, que je puisse supprimer les données qui sont dans la deuxième base de donnees. Pour cela j'ai mis MED.CP (med, la bdd et cp le nom de la table).

    CREATE OR REPLACE PROCEDURE med_tmp.test(CODSYS IN VARCHAR2)
    AS
    codebase VARCHAR2(3);
    BEGIN
    EXECUTE IMMEDIATE 'truncate table MED.CP';
    DBMS_OUTPUT.PUT_LINE('Table vidée');
    commit;
    END test;
    /

    J'execute la requete à l'aide de la ligne suivante :

    EXECUTE MEDOC_TMP.test('93');
    Le resultat de ma requete affiche :
    *
    ERREUR à la ligne 1 :
    ORA-01031: privilèges insuffisants
    ORA-06512: à "MEDOC_TMP.TEST", ligne 5
    ORA-06512: à ligne 1
    Je voulais savoir si vous saviez quel est la cause de cet erreur.

    Je vous remercie d'avance

  2. #2
    Invité(e)
    Invité(e)
    Par défaut Message parlant
    tu n'as pas les droits sur un TRUNCATE !!

    passe par un delete c + couteux maus ca marchera

  3. #3
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    Sinon il faut donner le droit de truncate à l'utilisateur ORACLE de la base Cible du dblink !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Par défaut
    J'ai essayer avec le delete, ca marche tres bien. Mais le pb est que j'ai une quantite enorme de données, c'est pour cela que je prefererais utilise le truncate
    Y a t-il moyen que je puisse obtenir les droits pour ke j'utilise le truncate?

  5. #5
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    je crois de mémoire que ton utilisateur doit être le propriétaire de la table ou avoir le droit DROP ANY TABLE mais s'est assez risqué !

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Si on peut exécuter TRUNCATE en SQL mais pas en PL/SQL c'est parce qu'il faut avoir le privilège correspondant directement donné par un GRANT sans passer par un rôle ou créer le code PL/SQL avec la clause AUTHID CURRENT_USER.

Discussions similaires

  1. Execute immediate truncate table
    Par Milo59000 dans le forum SQL
    Réponses: 5
    Dernier message: 08/09/2008, 17h43
  2. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  3. [Kylix] Demarrer en cliquant sur l'executable ???
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 26/04/2002, 11h24
  4. [Kylix] Execution d'une application hors de l'edi
    Par Sadam Sivaller dans le forum EDI
    Réponses: 1
    Dernier message: 20/04/2002, 23h22
  5. Réponses: 2
    Dernier message: 17/03/2002, 19h00

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