我已经创建了以下用于在已删除的用户表中插入的触发器,必须从userlogin表中删除相应的记录。插入触发器无法正常工作
触发包括以下语句:
但是,当我在deleteduser表中插入一条记录相应的记录从用户登陆表中删除,但它没有插入到deleteduser表。
上述触发器不会产生任何错误,但是当我尝试在已删除的用户表中插入一条记录时,我注意到该记录已从UserLogin表中删除,但未在DeletedUser表中插入该记录。
供您参考我包括了deleteduser和用户登陆两个表的结构如下:
Deleted User
CREATE TABLE DELETEDUSER
(
DeletedUserID int identity(1,1),
UserName nvarchar(max),
UserType nvarchar(30),
Reason nvarchar(max)
)
--ALTERING DELETEDUSER TABLE TO SPECIFY THE SIZE OF USERNAME COLUMN FOR IMPOSING FOREIGN KEY CONSTRAINT
ALTER TABLE DELETEDUSER ALTER COLUMN UserName nvarchar(50)
--ALTERING DELETEDUSER TABLE TO ADD FOREIGN KEY CONSTRAINT
ALTER TABLE DELETEDUSER ADD CONSTRAINT fk_UserName Foreign key (UserName) references UserLogin(UserName) on delete cascade
USERLOGIN TABLE:
CREATE TABLE USERLOGIN
(
UserID int identity(1,1) not null,
UserName nvarchar(50) not null,
Password nvarchar(50) not null
)
--ALTER TABLE USERREGISTRATION TO ADD PRIMARYKEY
ALTER TABLE USERLOGIN ADD CONSTRAINT pk_UserName primary key(UserName)
请帮我修改我应该插入的行中的deleteduser表并删除(删除)它来自userlogin表。
在此先感谢!
你为什么要使用一个INSERT INTO的特殊表引起删除的用户?如果您需要跟踪删除,则在UserLogin上放置删除触发器以记录更改更有意义。 – 2009-09-19 06:25:20