我在我的數據庫中有兩個表:Users
,Roles
和Membership
。 Membership
表將用戶分配給特定的角色。當創建另一個時自動創建記錄
我該如何自動創建Membership
記錄,以便在Users
中插入新記錄。
示例:創建用戶並分配了ID號(#562)時,數據庫會自動將它們添加到具有特定角色ID的Membership
表中。
我該怎麼做?
我在我的數據庫中有兩個表:Users
,Roles
和Membership
。 Membership
表將用戶分配給特定的角色。當創建另一個時自動創建記錄
我該如何自動創建Membership
記錄,以便在Users
中插入新記錄。
示例:創建用戶並分配了ID號(#562)時,數據庫會自動將它們添加到具有特定角色ID的Membership
表中。
我該怎麼做?
在Users
表上寫一個AFTER INSERT TRIGGER
表,這將在Membership
表中插入新行。
http://msdn.microsoft.com/en-us/magazine/cc164047.aspx
假設你有你的新的會員行,當一個新的用戶插入用戶表中的默認角色ID,這樣的事情應該工作。
CREATE TRIGGER TRI_USERS_INSERT on Users
AFTER INSERT
AS
SET NOCOUNT ON
-- If you have a Default RoleID, select that into a variable and use it in the INSERT below.
-- For this example, I am using just the number 1
-- Also assumes that the ID for Memberships table is AUTO GENERATED, so it's not in INSERT list.
INSERT INTO Memberships (UserID, RoleID)
SELECT ID, 1 FROM INSERTED
GO
是的,它的工作。謝謝你的幫助! –
如何將記錄添加到用戶表中?你不能以同樣的方式插入成員記錄嗎? –
用戶可以手動註冊帳戶。我使用的是ASP.NET Membership,所以我更願意在數據庫中擁有這些功能。 –