创建另一个时自动创建记录

时间:2013-12-07 23:49:10

标签: sql sql-server

我的数据库中有两个表:UsersRolesMembershipMembership表将用户分配给特定角色。

如果在Membership中插入新记录,我怎么能自动创建Users记录。

示例:创建用户并为其分配ID号(#562)时,数据库会自动将它们添加到具有特定角色ID的Membership表中。

我怎么能这样做?

1 个答案:

答案 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