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 :

uniqueidentifier comme foreign key


Sujet :

MS SQL Server

  1. #1
    CUCARACHA
    Invité(e)
    Par défaut uniqueidentifier comme foreign key
    Salut,

    Je travaille sur un site ASP.net 3.5 relié à une base de données SQL Server Express.

    J'ai généré les éléments de membership (avec regsql).

    J'ai besoin d'ajouter des caractéristiques à mes utilisateurs. En l'occurence un n° de tel et un code pin.

    J'ai donc créé une table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE TABLE [dbo].[TIERS_ST_ToCall](
    	[TIERS_ST_ToCall] [uniqueidentifier] NOT NULL CONSTRAINT [DF_TIERS_ST_ToCall_TIERS_ST_ToCall]  DEFAULT (newid()),
    	[FK_aspnet_Users_UserId] [uniqueidentifier] NOT NULL,
    	[strPhoneNumber] [nvarchar](50) NOT NULL,
    	[strPin] [nvarchar](4) NOT NULL,
     CONSTRAINT [PK_TIERS_ST_ToCall] PRIMARY KEY CLUSTERED 
    (
    	[TIERS_ST_ToCall] ASC
    )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]

    J'ai créé une relation de [FK_aspnet_Users_UserId] vers [UserId] de la table [aspnet_Users] générée automatiquement.

    J'ai ensuite créé la proc :

    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
    20
     
    ALTER PROCEDURE dbo.SITM_SA_User_ToCall_Add
    	(
    	@strUserId nvarchar(128),
    	@strPhoneNumber nvarchar(50),
    	@strPin nvarchar(16)
    	)
    AS
    	Declare @UserId UniqueIdentifier
    	SET @UserId  = convert(uniqueidentifier, @strUserId)
    	INSERT INTO TIERS_ST_ToCall (
    		FK_aspnet_Users_UserId,
    		strPhoneNumber,
    		strPin)
    	VALUES (
    		@UserId,
    		@strPhoneNumber,
    		@strPin
    		)
    	RETURN @@IDENTITY
    Malheureusement, lorsque je l'exécute j'ai le message suivant :

    L'instruction INSERT est en conflit avec la contrainte FOREIGN KEY "FK_TIERS_ST_ToCall_aspnet_Users". Le conflit s'est produit dans la base de données "SITM", table "dbo.aspnet_Users", column 'UserId'.
    L'instruction a été arrêtée.


    Y a t il une astuce pour utiliser un uniqueidentifier comme clef étrangère ?
    Si oui, laquelle ?

    D'avance merci

    Laurent

  2. #2
    CUCARACHA
    Invité(e)
    Par défaut Désolé
    Salut,

    Désolé je m'étais trompé de clef en créant la relation. Là ça marche comme il faut

    ++

    Laurent

Discussions similaires

  1. datagridview avec un combobox comme foreign key
    Par mohcine- dans le forum VB.NET
    Réponses: 6
    Dernier message: 06/03/2011, 16h25
  2. Probleme 'ALTER TABLE' et 'FOREIGN KEY'
    Par maahta dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 30/09/2003, 14h25
  3. [IB71] Je ne peux plus supprimer mes foreign key...
    Par BoeufBrocoli dans le forum InterBase
    Réponses: 3
    Dernier message: 19/09/2003, 14h39
  4. [postgresql][foreign key]
    Par elea1206 dans le forum Requêtes
    Réponses: 5
    Dernier message: 28/08/2003, 12h07
  5. [Foreign Key] Besoin d'explication.
    Par Andry dans le forum Débuter
    Réponses: 4
    Dernier message: 28/05/2003, 11h34

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