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

MS SQL Server Discussion :

Desactiver temporairement les contraintes


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Par défaut Desactiver temporairement les contraintes
    Bonjour,
    J'aurais un petit besoin mais je préviens c pas bô !

    Pour un cas particulier de développement, j'aurais besoin
    de pouvoir desactiver toutes les contraintes d'intégrité
    (en fait que FK) juste le temps d'une transaction.

    Une fois la transaction faite, il sera sympa que je puisse
    lancer une vérification des contraintes mais c pas
    obligatoire ...


    Donc si quelqu'un saurait comment désactiver les
    contraintes d'intégrité sous SQLServer le temps d'une
    transaction ... (euh ... non je peux pas les supprimer
    puis les ajouter ...)

    Voilà ...

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    C'est possible avec les mots clés NOCHECK et CHECK
    Tu désactives tes contraintes
    Tu lances tes insert,drop ...
    Tu réactives tes contraintes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /*Active la contrainte */
    ALTER TABLE MaTable NOCHECK CONSTRAINT MaContrainte
    /*Désactive la contrainte */
    ALTER TABLE MaTable CHECK CONSTRAINT MaContrainte

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Par défaut
    Merci !!

    J'ai testé (vite fait) et ca marche ...

    Bon c un peu lourd car il faut faire piu chaque table mais bon !

    Encore merci !!

  4. #4
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Ingénieur DevOps
    Inscrit en
    Mai 2002
    Messages
    1 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 214
    Par défaut
    Faisant une recherche sur google, je suis tombé sur cette vieille question. J'en profite pour rappeler (comme la question est venu récemment dans le langage SQL) que la VUE INFORMATION_SCHEMA répond à cela :

    Pour obtenir le code à exécuter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT 'ALTER TABLE '+table_name+' NOCHECK CONSTRAINT '+constraint_name 
    FROM information_schema.constraint_table_usage 
    order by table_name
    Alexandre Tranchant
    Ingénieur DevOps pour le Ministère de l'Écologie
    Retrouvez mes articles sur PHP et Symfony

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Par défaut
    Merci mais en fait cela ne marche pas (après plus de test).

    En effet, Check et No Check permette juste d'indiquer si il faut vérifier à la pause de la contrainte !

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

Discussions similaires

  1. [SQL]Questions sur les contraintes ?
    Par patmaba dans le forum Oracle
    Réponses: 3
    Dernier message: 24/02/2005, 15h12
  2. connaitre les contraintes d'une table??
    Par sali dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/11/2004, 11h46
  3. désactiver les contraintes
    Par romainw dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 15/07/2004, 10h46
  4. Question sur les contraintes d'intégrités
    Par eGGyyS dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 27/04/2004, 13h51
  5. Les contraintes OCL
    Par bart64 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 19/12/2003, 18h47

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