我已經創建了以下用於在已刪除的用戶表中插入的觸發器,必須從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