gpt4 book ai didi

sql - 使用 SQL Server 2008 将主键约束删除或更改为 UNIQUE 约束

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:20 25 4
gpt4 key购买 nike

我真的需要知道是否有任何方法可以将表的主键约束更改或删除为 UNIQUE 约束

当我尝试从 Entreprise 表中删除主约束时:

ALTER TABLE Entreprise
DROP CONSTRAINT PK__Entrepri__AABA1D8F1B0907CE

我收到这个错误:

Msg 3725, Level 16, State 0, Line 1
The constraint 'PK_Entrepri_AABA1D8F1B0907CE' is being referenced by table 'Dossier', foreign key constraint 'Cle_FDOs'.
Msg 3727, Level 16, State 0, Line 1
Could not drop constraint. See previous errors.

所以问题是我不想删除dossier 表中的行

这是企业表:

create table Entreprise
(
ID_Entreprise integer ,
Raison_Social varchar(100),/*Nom Entreprise*/
Num_Raison_Sociale varchar(20) unique ,
Adress varchar(100),
Abreviation varchar(10),
CNSS_Entreprise integer unique,
Eligible varchar(20),/*AUTOMATIQUE par raport aux CNSS_Entreprise*/
Effectif integer,/*NB SALARIE*/
Ville varchar(20),
Responsable varchar(20),
EMAIL_Responsable varchar(20),
Tel_Responsable varchar(20),
Fax_Responsable varchar(20),
Directeur varchar(20),
EMAIL_Directeur varchar(20),
Tel_Directeur varchar(20),
Fax_Directeur varchar(20),
RIB varchar(60),/*ici non sur le dossier lo*/
Nom_Giac varchar(50) foreign key references GIAC(Nom_Giac),
primary key(Nom_Giac,ID_Entreprise)
)
GO

这是 Dossier 表:

create table Dossier
(
ID_Dossier integer primary key,
ID_Entreprise int,/*AUTOMATIQE par rapotrt aux la cnss de l'entreprise qui l'a donne*/
Date_Depot datetime ,
Type_Etude varchar(2),/*DS IF combobox*/
Dernier_Type varchar(2),/* AUTOMATIQUE */
Eligibile varchar(3),/* par raport aux Dernier Type et CNSS et COTISTAION EXERCICES */
Fiche_Information varchar(3),/*checkbox o/n */
Buletin_Adhesion varchar(3),
Fiche_Renseignment varchar(3),
Attestation varchar(3),
Date_Debut datetime,
Date_Fin datetime,
--Etat_Dossier varchar(3), /* hado m7aydine mn war9a*/
--Motif text,/*en cas de rejet, peu prendre null apart le cnss et cotisation ex et dernier formation *//* hado m7aydine mn war9a*/
ID_Cabinet integer foreign key references Cabinet(ID_Cabinet),
Montant_Demander decimal(6,2),
Duree integer,
Porcentage_Taux varchar(3), /* combobox 70% 80% */
Nom_Giac varchar(50),
constraint Cle_FDOs foreign key(Nom_Giac,ID_Entreprise) references Entreprise(Nom_Giac,ID_Entreprise),
)
GO

最佳答案

您无法使用单个 SQL 指令自动执行“更改”,但如果您愿意,可以实现。

首先,在具体情况下,您需要删除那些包含对引用表 Enterprise 的引用的表的外键。

您需要从 Dossier 中删除外键,然后从 Enterprise 中删除主键,并创建一个 UNIQUE 约束。

另一个问题是,您为什么有兴趣这样做?

也许你可以阅读这个other SO thread正在讨论这件事。

关于sql - 使用 SQL Server 2008 将主键约束删除或更改为 UNIQUE 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12272006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com