Bonjour,

Je développe une application de messagerie instantanée, de type Discord ou Slack.

Mon MLD contient une table UserAccount, une table Channel et une table intermédiaire nommée Access :

Nom : alert_mns.png
Affichages : 60
Taille : 18,3 Ko

La table Access permet de définir les canaux auxquels un utilisateur pourra accéder.

J'aimerais économiser quelques lignes de code en écrivant un trigger qui remplit automatiquement la table Access lorsqu'un nouvel utilisateur est créé dans la table UserAccount.

Etant débutant en T-SQL, j'ai quelques difficultés à trouver la bonne syntaxe :

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
CREATE TRIGGER AddGeneralChannelsToUser 
   ON UserAccount
   AFTER INSERT
AS 
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
 
    -- Insert statements for trigger here
	INSERT INTO Access (account_id,channel_id,first_connection)
	VALUES (
		SELECT account_id FROM inserted, 
		SELECT channel_id FROM Channel WHERE channel_name = 'Accueil',
		SELECT NOW()
		);
END
GO
Merci d'avance pour votre aide.