Lorsque j'exécute cette requête, j'obtiens une erreur

Impossible de trouver le type de données dbo.GUID_PK

Pour cela, dois-je create table pour CandidateRoleID ou que dois-je faire d'autre ici?

Mais, quand je l'ai recherché sur Google, je l'ai trouvé disant magasins SQL Server GUID. Comment pourrais-je y accéder ou quelle est la manière correcte de déclarer cette table? J'ai recherché sur Google à propos de GUID_PK.

Mais je n'ai trouvé aucune syntaxe ou explication. Merci d'avance.

CREATE TABLE [dbo].[tbl]
(
    [CandidateRoleID] [dbo].[GUID_PK] NOT NULL,
    [CandidateID]    [uniqueidentifier] NOT NULL,
    [RoleID]           [int] NOT NULL
);
0
allDroid 4 janv. 2016 à 14:10

3 réponses

Meilleure réponse

Le type de données du serveur SQL pour un GUID est UNIQUEIDENTIFIER.

Votre script doit être:

CREATE TABLE [dbo].[tbl](
[CandidateRoleID] [uniqueidentifier] NOT NULL,
[CandidateID] [uniqueidentifier] NOT NULL,
[RoleID] [int] NOT NULL,
CONSTRAINT PK_Tbl PRIMARY KEY (CandidateRoleID));

Si vous voulez qu'il soit créé `` automatiquement '', semblable à une colonne d'identité entière, donnez-lui une valeur par défaut:

CREATE TABLE [dbo].[tbl](
    [CandidateRoleID] [uniqueidentifier] NOT NULL DEFAULT NEWID(),
    [CandidateID] [uniqueidentifier] NOT NULL,
    [RoleID] [int] NOT NULL,
    CONSTRAINT PK_Tbl PRIMARY KEY (CandidateRoleID));
3
Paddy 4 janv. 2016 à 11:16
CREATE TABLE [dbo].[tbl](
[CandidateRoleID] [uniqueidentifier] primary key NOT NULL,
[CandidateID] [uniqueidentifier] NOT NULL,
[RoleID] [int] NOT NULL,
);

Dans SQL Server, GUID est le type de données uniqueidentifier.

0
Adarsh H D Dev 4 janv. 2016 à 11:18

Il n'y a pas de type de données «GUID_PK» dans le serveur SQL.

GUID est un acronyme pour Global Unique ID (entifier) et est un numéro unique de 16 octets. Les termes GUID et UNIQUEIDENTIFIER sont souvent interchangeables au sein de la communauté SQL Server.

Si vous devez générer automatiquement une valeur uniqueidentifier dans votre table pendant data insert, envisagez d'ajouter une valeur par défaut au type de données uniqueidentifier.

CREATE TABLE #tbl(
[CandidateRoleID] [uniqueidentifier]   NOT NULL DEFAULT NEWID(),
[CandidateID]    [uniqueidentifier] NOT NULL   DEFAULT  NEWID(),
[RoleID]           [int] NOT NULL);

GO

INSERT INTO #tbl (ROLEID) SELECT  (1)

CandidateRoleID                          CandidateID                            RoleID
F20AE15E-8D97-4042-8AA8-DD7BCB0EB6D6    FAE29358-BD34-4BFE-800B-E332375E020E    1
0
bmsqldev 4 janv. 2016 à 11:33