我的数据库中有两个表:Users
,Roles
和Membership
。 Membership
表将用户分配给特定角色。
如果在Membership
中插入新记录,我怎么能自动创建Users
记录。
示例:创建用户并为其分配ID号(#562)时,数据库会自动将它们添加到具有特定角色ID的Membership
表中。
我怎么能这样做?
答案 0 :(得分:2)
在AFTER INSERT TRIGGER
TABLE上写一个Users
,它将在Membership
表中插入新行。
http://msdn.microsoft.com/en-us/magazine/cc164047.aspx
假设您的新成员资格行有一个默认RoleID,当在Users表中插入一个新用户时,这样的事情应该有效。
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