0
我需要一些幫助來創建觸發器來執行以下操作。創建TSQL觸發器
表
- 用戶組
- 用戶
每次我創建一個新的用戶記錄我叫填充一個UserGroupId關鍵foriegn場將用戶鏈接到一個用戶組的。我想要實現的是更新UserGroup表上名爲TotalUsers的Count字段。
任何幫助都會很棒,因爲我是TSQL觸發器的新手。謝謝
我需要一些幫助來創建觸發器來執行以下操作。創建TSQL觸發器
表
每次我創建一個新的用戶記錄我叫填充一個UserGroupId關鍵foriegn場將用戶鏈接到一個用戶組的。我想要實現的是更新UserGroup表上名爲TotalUsers的Count字段。
任何幫助都會很棒,因爲我是TSQL觸發器的新手。謝謝
我同意marc_s這種類型的信息可能會更好地只提取時,而不是將其存儲在表中單獨的字段中。但這裏有一個觸發器,應該做你想要什麼:當你刪除一個用戶或當您在用戶更新組
create trigger UpdateUserCount on [User]
for insert, update, delete
as
begin
update UserGroup set TotalUsers = sub.UserCount
from (
select UserGroupId, COUNT(*) as UserCount
from [User]
where UserGroupId in (
select UserGroupId from inserted
union
select UserGroupId from deleted
)
group by UserGroupId
) as sub
where UserGroup.UserGroupId = sub.UserGroupId
end
這觸發更新數也。我假定UserGroup表中的主鍵列被稱爲UserGroupId。
看看這個關於如何創建一個觸發器的MSDN筆記,然後你只需插入你的更新查詢插入新記錄。 http://msdn.microsoft.com/en-us/library/aa258254(v=sql.80).aspx – Rahul
非常誠實:我不會計算**並存儲**那個用戶數 - 我只會計算它(例如在某個視圖中)當你需要時 - 但不要存儲它。 –