0
A
回答
6
要使用觸發器有什麼特別的原因嗎?
您可以簡單地從要限制的用戶中刪除DELETE權限。看看在「權限」部分在這裏:http://msdn.microsoft.com/en-us/library/ms189835.aspx
編輯:既然你說你不想使用觸發器(但我真的認爲你應該重新考慮),您可以創建一個表,如:
CREATE TABLE Restricted_Users
(
user_name VARCHAR(40) PRIMARY_KEY -- Use a size appropriate to your requirements
)
創建於所有你的表INSTEAD OF DELETE
觸發器(那將是件苦差事),檢查在Restricted_Users
表USER_NAME()
,如果他們EXIST
你可以調用RAISERROR
到導致事務回滾,並顯示一條消息,用戶。
請記住,無論何時向數據庫添加/刪除用戶,您都必須在添加到數據庫的所有新表上維護這些觸發器,並在Restricted_Users
表中維護用戶列表。
這將是很多更簡單的使用SQL Server中可用的權限系統(這是它的設計目的)使用具有適當權限的角色設置表。然後,在添加新用戶時,您只需將其分配給適當的角色,併爲您處理刪除權限。
7
烏姆帶走用戶的權限?如果你不想讓他們做某件事,那麼'禁止'他們是正確的......這就是爲什麼我們有權限。
下面是關於如何撤銷權限的詳細信息:
相關問題
- 1. SQL Server觸發器,以防止數據庫中刪除
- 2. MySQL - 觸發器,以防止通過連接表刪除
- 3. 如何防止從觸發器或存儲過程保存到數據庫?
- 4. 觸發器以防止刪除表
- 5. 如何防止用戶更改/刪除其他用戶數據
- 6. 如何防止用戶通過表單欺騙數據?
- 7. 如何通過ID從數據表和數據庫中刪除行
- 8. 防止刪除數據
- 9. 如何刪除Firebird 1.5數據庫中的所有觸發器
- 10. 停止用戶刪除數據庫
- 11. 防止SQL數據庫中的數據欺詐和刪除
- 12. SQL觸發器從數據庫中刪除行
- 13. 從Firebase數據庫中刪除用戶
- 14. 授權邀請用戶通過數據庫觸發器
- 15. 如何從刪除觸發器中獲取數據?
- 16. 防止用戶通過調試器更改websql中的數據
- 17. 如何通過數據ID從Arraylist中刪除數據
- 18. 如何從通話記錄數據庫中刪除通話表數據
- 19. 如何防止用戶更改數據庫表中的值/行?
- 20. 如何防止在開發服務器上刪除GAE數據庫?
- 21. 如何通過LSXODBC從數據庫中刪除記錄
- 22. 如何防止使用觸發器發生刪除?
- 23. 如何防止用戶添加/修改/刪除報表資源管理器中的數據源/數據集
- 24. 嘗試在.NET中通過用戶名從數據庫中刪除用戶MVC
- 25. 如何從數據庫表中刪除所有數據?
- 26. 通過JavaFX GUI從數據庫刪除數據
- 27. 爲防止插入的sqlite數據庫創建觸發器
- 28. 從數據庫表中刪除用戶帳戶權限
- 29. 如何編寫規則以防止從數據庫中刪除任何節點
- 30. 如何防止Mysql數據庫被更改/更新/刪除?
正確的答案,但你鏈接到MySQL文檔,這個問題被標記爲SQL Server :) – Tony 2011-01-11 14:13:33
糟糕..糾正,我實際上編輯後,我的帖子添加引用。 – Jakub 2011-01-11 14:16:45