0
我有2個表用戶和帳戶。我想要一個觸發器,在創建用戶時自動創建一個帳戶。這裏是我的代碼:在當前表引用的另一個表中創建行的觸發器
alter trigger Add_user on [user] for insert as
begin
insert into [account] (name) values ('Main')
declare @newAccountId int, @insertedId int
set @newAccountId = (select scope_identity())
set @insertedId = (select id from inserted)
update [user]
set accountId = @newAccountId
where id = @insertedId
end
我想有ACCOUNTID用戶表不空但是當我嘗試創建它不會讓我一個新的用戶,我得到一個錯誤抱怨不爲空的AccountID列:(
1.您的賬戶表是什麼樣的? 2.爲什麼你爲這個名字拼寫'Main'? 3.您是否意識到在插入或更新一行或多行時會發生觸發事件?因此,您不能將插入的值存儲在變量中。 – LittleBobbyTables 2012-07-31 01:49:25
'inserted'和'deleted'是表格,以便它們可以表示設置操作的結果。假設它們總是包含一行,設計一個觸發器通常是一個糟糕的計劃。 – HABO 2012-07-31 03:03:23