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 :

Que signifie l'erreur Conflit de colonne INSERT ou UPDATE avec une règle imposée?


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 57
    Points : 25
    Points
    25
    Par défaut Que signifie l'erreur Conflit de colonne INSERT ou UPDATE avec une règle imposée?
    bonsoir a tous, j'ai cette erreur qui m'affiche dans sql server

    Conflit de colonne INSERT ou UPDATE avec une règle imposée par une instruction CREATE RULE précédente

    quelqu'un pourrait-il m'expliquer
    merci d'avance

  2. #2
    Expert éminent
    Avatar de Lyche
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2007
    Messages
    2 523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 523
    Points : 6 790
    Points
    6 790
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par le beauceron Voir le message
    bonsoir a tous, j'ai cette erreur qui m'affiche dans sql server

    Conflit de colonne INSERT ou UPDATE avec une règle imposée par une instruction CREATE RULE précédente

    quelqu'un pourrait-il m'expliquer
    merci d'avance
    Tu as créé une règle d'insertion qui pré-définit un mot (ou une liste de mot) sur une colonne et tu essayes d'insérer une valeur hors liste.

    Cordialement

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 888
    Points : 53 121
    Points
    53 121
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par Lyche Voir le message
    Tu as créé une règle d'insertion qui pré-définit un mot (ou une liste de mot) sur une colonne et tu essayes d'insérer une valeur hors liste.

    Cordialement
    NON ! rien à voir...

    SQL Server permet de définir des types de données associés à des RULE (contraintes CHECK) et d'appliquer ces types à des colonnes de table notamment.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    -- création d'une type dérivé du FLOAT
    CREATE TYPE TYP_POURCENT
    FROM FLOAT;
    GO
     
    -- création d'une règle de domaine de 0 à 100
    CREATE RULE RLE_POURCENT
    AS
    @VALUE BETWEEN 0 AND 100;
    GO
     
    -- association de la règle au type :
    EXEC sp_bindrule 'RLE_POURCENT', 'TYP_POURCENT' 
    GO
    Dès lors vous pouvez créer autant de colonnes avec ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE T_PRODUIT
    (PRD_ID         INT IDENTITY PRIMARY KEY,
     PRD_NOM        VARCHAR(32),
     PRD_PRIX       DECIMAL(16,2),
     PRD_TVA        TYP_POURCENT,
     PRD_REMISE_MAX TYP_POURCENT)
    Et résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO  T_PRODUIT VALUES 
    ('TV', 12.45, 18.6, 20);
    Et pour un viol de règle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO  T_PRODUIT VALUES 
    ('TV', 12.45, 18.6, 150);
    A +

  4. #4
    Expert éminent
    Avatar de Lyche
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2007
    Messages
    2 523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 523
    Points : 6 790
    Points
    6 790
    Billets dans le blog
    4
    Par défaut
    Il me semblait que l'on pouvait définir des règles pour des listes de mot.

    Après je ne m'en suis jamais servis de façon approfondie donc c'est possible que j'ai mal compris l'utilisation du RULE.

    Merci pour l'explication.

    Cordialement,
    Lyche

Discussions similaires

  1. Que signifie cette erreur ?
    Par stilgar_karas dans le forum wxWidgets
    Réponses: 2
    Dernier message: 14/12/2009, 12h26
  2. Que signifie cette erreur
    Par BuzzLeclaire dans le forum Langage
    Réponses: 2
    Dernier message: 26/06/2009, 13h13
  3. Que signifie cette erreur de compilation ?
    Par Premium dans le forum C
    Réponses: 14
    Dernier message: 22/05/2006, 23h16
  4. [SQL-Server] 'Bad column offset' que signifie cette erreur ?
    Par dor_boucle dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 08/02/2006, 15h01
  5. [SQL][DERBY] Que signifie cette erreur ?
    Par irenee dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/12/2005, 14h34

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