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 :

Table avec champ CONSTRAINT? [SQL Server 2005]


Sujet :

MS SQL Server

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Par défaut Table avec champ CONSTRAINT? [SQL Server 2005]
    Bonjour,

    Je travaille sur une base de données sous SQL Server 2005.
    Et la j'ai une table a laquelle je ne comprend pas certains champ, voici le code de creation de la table:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE MaTable (
    	[PrimID] [int] IDENTITY(1,1) NOT NULL,
    	[Champ1] [nvarchar](10) NOT NULL,
    	[Champ2] [uniqueidentifier] NULL,
    	[Champ3] [int] NOT NULL,
    	[Champ4] [bigint] NULL CONSTRAINT [DF_MaTable_Champ4]  DEFAULT ((0)),
    	[Champ5] [bigint] NULL CONSTRAINT [DF_MaTable_Champ5]  DEFAULT ((0)),
    	[Champ6] [bigint] NULL CONSTRAINT [DF_MaTable_Champ6]  DEFAULT ((0)),
    	[Champ7] [int] NOT NULL,
    PRIMARY KEY CLUSTERED 
    (
    	[PrimID] ASC
    )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    J'ai juste renommé le nom des champ pour que ce soit plus clair, mais sinon j'ai bien le DF_MaTable_Champx.
    Bien evidemment ce n'est pas moi qui ai cree cette table, et celui qui l'a cree n'est plus la pour m'expliquer.

    Ce que je ne comprend pas sont les champs 4 à 6, que signifie cette declaration?
    Que signifie le CONSTRAINT [DF_MaTable_Champ_]?
    Et est-ce que ceci influe sur le PRIMARY KEY CLUSTERED?

    Merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 994
    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 994
    Billets dans le blog
    6
    Par défaut
    Si vous ne savez pas ce qu'est une contrainte dans une base de données relationnelle... Il va y avoir du boulot !

    Commencez par lire ceci :
    http://www.sqlspot.com/Les-contraint...ionnelles.html
    Puis plus spécifiquement :
    http://sqlpro.developpez.com/cours/s...e=partie2#L7.1

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Par défaut
    C'est parti!
    Merci pour les liens, je reviens si j'ai soucis!

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Par défaut
    Salut,

    J'ai regardé, alors c'est vrai que je galère pas mal, mais si j'ai bien compris dans mon cas je me permet de mettre des valeurs par defaut à NULL.
    Mais je ne vois pas ou le terme CONSTRAINT intervient, si j'ai bien compris ce terme est optionnelle de meme que les crochets mais ou est la notion de relation (le champ se rapporte a lui meme, non?)?

    Et si on pouvait m'expliquer quelque chose: j'ai des enregistrements dans cette table, si j'essaye d'inserer deux fois le meme enregistrement en renseignant tout les champs (sauf le PrimID), sql me repond:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Duplicate key was ignored.
     
    (0 row(s) affected)
    Je ne comprend pas pourquoi il me dit ca, je ne duplique pas la cle primaire, et je ne vois pas d'autre cle.

    Si quelqu'un pouvait m'eclairer, ce serait super cool, merci!

    PS: techniquement ca ne me derange pas ca fonctionne, mais je ne comprend pas comment ca marche.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 994
    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 994
    Billets dans le blog
    6
    Par défaut
    Donnez nous le code SQL de ce que vous faites :
    CREATE TABLE
    INSERT....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Par défaut
    Salut,

    dsl mais j'etais completement a cote de la plaque, en fait la table etait defini avec un index uniques (un gars eclairé m'a montrer le truc). Finalement je comprend mieux pourquoi mes insert ne fonctionnait pas.

    Merci pour votre aide

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Par défaut
    PS: n'empeche c'est vrai que c'est chaud au debut, faut que j'aille travailler tout ca!

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

Discussions similaires

  1. Probleme de droit avec une connexion sql server 2005
    Par mduarte dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 27/08/2007, 10h12
  2. création d'une table de fait sous sql server 2005
    Par kev0631 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 19/07/2007, 14h45
  3. Réponses: 6
    Dernier message: 31/05/2007, 15h54
  4. [J2EE/JSP] Gestion des erreurs avec une base SQL server 2005
    Par critok dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 30/04/2006, 16h57
  5. [ODBC] Problème avec odbc et sql server 2005
    Par scaleo dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/10/2005, 09h49

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