Bonjour,
Je suis face a un petit soucis de base de données et j'en appelle à vous pour me dire ce qui ne va pas.
En fait le soucis se situe dans l'établissement de la liaison (ou plutôt des liaisons) entre 2 tables avec mise à jour en cascade et suppression en cascade.

Mais comme toujours un bon code vaux mieux que beaucoup d'explications :
Je créer mes 2 tables
Code sql : 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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
CREATE TABLE [dbo].[tblLieu]
(
	[ID]		[BIGINT]	IDENTITY	-- Identité locale de la table
,	[nvcLabel]	[NVARCHAR](250)			-- Dénomination du lieu
	CONSTRAINT [prkLieu] PRIMARY KEY CLUSTERED
	(
		[ID] ASC
	)
) ON [PRIMARY]
GO
 
CREATE TABLE [dbo].[tblTrajet]
(
	[ID]			[BIGINT]	IDENTITY	-- Identité locale de la table
,	[nvcLabel]		[typLabel]			-- Dénomination du voyage
,	[CdeLieuDepart]		[BIGINT]			-- Lieu de début du trajet
,	[CdeLieuArrivee]	[BIGINT]			-- Lieu d'arrivée du trajet
	CONSTRAINT [prkTrajet] PRIMARY KEY CLUSTERED
	(
		[ID] ASC
	)
) ON [PRIMARY]
GO
 
ALTER TABLE [dbo].[tblTrajet]
	WITH CHECK ADD CONSTRAINT [frkTrajet_LieuDepart]
	FOREIGN KEY([CdeLieuDepart])
	REFERENCES [dbo].[tblLieu] ([ID])
	ON UPDATE CASCADE
	ON DELETE CASCADE;
GO
 
ALTER TABLE [dbo].[tblTrajet]
	WITH CHECK ADD CONSTRAINT [frktblTrajet_LieuArrivee]
	FOREIGN KEY([CdeLieuArrivee])
	REFERENCES [dbo].[tblLieu] ([ID])
	ON UPDATE CASCADE
	ON DELETE CASCADE;
GO

Et j'ai le message suivant :
Msg*1785, Niveau*16, État*0, Ligne*31
Introducing FOREIGN KEY constraint 'frktblTrajet_LieuArrivee' on table 'tblTrajet' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.

Si j'inverse les 2 déclaration de liens, c'est toujours le second qui pose problème.

Pourquoi cela me fait-il cela car je ne comprends pas pourquoi ce n'est pas possible de faire 2 liens avec mise à jour et suppression en cascade tel que décrit.

Comment procéder pour assurer cette fonctionnalité ?

Merci d'avance de vous pencher sur mon cas...