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

SQL Oracle Discussion :

Verrouiller une table


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Points : 616
    Points
    616
    Par défaut Verrouiller une table
    Bonsoir,
    J'ai un peu de mal à utiliser LOCK surtout que je comprnd pas trop les différents mode.
    Je souhaiterais verrouiller la table pour qu'on puisse encore insérer,eventuellement mettre à jour mais pas supprimer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LOCK TABLE <nomTable> ???
    Merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Points : 436
    Points
    436
    Par défaut
    Malheureusement, ce n'est pas possible toutes les verrous traitent INSERT, UPDATE et DELETE de la même façon ...

    Quel est le besoin?
    Consultant et formateur Oracle

  3. #3
    Membre confirmé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Points : 616
    Points
    616
    Par défaut
    J'ai fais un TRiGGER qui archive une commande supprimée, je souhaite que cette commande ne puisse être supprimée de la table d'archivage.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Points : 436
    Points
    436
    Par défaut
    Donc le besoin d'empêcher la suppression de lignes dans cette table est plutôt permanent ...

    Ceci peut être atteint en utilisant un trigger (delete) qui renvoie une erreur non capturée par le trigger lui même. L'effet du trigger dans ce cas est d'annuler la suppression
    Consultant et formateur Oracle

  5. #5
    Membre confirmé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Points : 616
    Points
    616
    Par défaut
    Citation Envoyé par Michel SALAIS Voir le message
    utilisant un trigger (delete) qui renvoie une erreur non capturée par le trigger lui même. L'effet du trigger dans ce cas est d'annuler la suppression
    Je n'ai pas compris, surtout le passage "une erreur non capturée par le trigger lui même".
    Peux tu m'expliquer s'il te plais.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Points : 436
    Points
    436
    Par défaut
    En gros le core du trigger devrait ressembler à ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    BEGIN
      reaise_application_error(-20001, 'Suppression impossible dans la table');
    END;
    Le trigger provoque une erreur en par conséquent l'instruction à l'origine de son déclenchement sera annulée.
    La capture éventuelle des erreurs par un bloc PL/SQL se fait si le bloc contient la section EXCEPTION.
    Consultant et formateur Oracle

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Verrouiller une table
    Par zax-tfh dans le forum Entity Framework
    Réponses: 12
    Dernier message: 01/06/2011, 17h33
  2. Verrouiller une table en lecture ecriture
    Par ullgom dans le forum Access
    Réponses: 1
    Dernier message: 18/12/2006, 16h16
  3. [SQL Server 2000] Verrouiller une table
    Par Matth_S dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 28/10/2006, 14h34
  4. verrouiller une table
    Par tamerlan dans le forum Access
    Réponses: 4
    Dernier message: 09/05/2006, 16h11
  5. Savoir qui verrouille une table ?
    Par infosorome dans le forum Access
    Réponses: 4
    Dernier message: 20/12/2005, 01h28

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