1
A
回答
1
0
阿爾山,你還沒談到數據庫引擎(使用的是哪一個:甲骨文/ MS SQL服務器/ MySQL的等)的任何東西。
在Oracle中,例如,您正在授予/撤銷特定對象的權限,並且無法限制輸出結果(使用開箱即用的GRANT語句)。
在SQL Server中,你能夠授予個人用戶的行級權限的一些額外的工作:https://msdn.microsoft.com/en-us/library/bb669076(v=vs.110).aspx
例子:
CREATE SCHEMA Security
GO
CREATE FUNCTION Security.userAccessPredicate(@UserName sysname)
RETURNS TABLE
WITH SCHEMABINDING
AS
RETURN SELECT 1 AS accessResult
WHERE @UserName = SUSER_SNAME()
GO
CREATE SECURITY POLICY Security.userAccessPolicy
ADD FILTER PREDICATE Security.userAccessPredicate(UserName) ON dbo.MyTable,
ADD BLOCK PREDICATE Security.userAccessPredicate(UserName) ON dbo.MyTable
GO
enter code here
CREATE VIEW vw_MyTable
AS
RETURN SELECT * FROM MyTable
WHERE UserName = SUSER_SNAME()
GO
一般從概念角度來看,如果要限制用戶對於只有一定數量的行,您應該執行以下操作: 基本方法是:
- 防止用戶(或組)來回m訪問基表。
- 在表格頂部定義一個只顯示這些用戶應該看到的行的視圖。
- 爲用戶提供對視圖的SELECT權限。
相關問題
- 1. SQL Select權限
- 2. 帶條件的SELECT子句
- 3. SQL SELECT條件的性能
- 4. MySQL條件用戶權限
- 5. 帶條件的SQL語句
- 6. Symfony2/Doctrine2 SQL Select條件
- 7. SQL - SELECT行有條件
- 8. 帶CASE條件和SUM的SELECT查詢()
- 9. 帶條件幫助的MySQL SELECT
- 10. 帶有CASE內條件的SELECT計數
- 11. SELECT帶OR條件的錯誤結果
- 12. 測試條件上的文件權限
- 13. 帶輸入條件的SQL
- 14. 帶條件的SQL BULK INSERT
- 15. 帶條件的SQL AVG
- 16. 複製帶目標權限的文件
- 17. 帶條件的SQL Server查詢
- 18. SQL Server權限
- 19. SQL中的條件算法Select Query
- 20. SQL SELECT基於條件的列
- 21. 有條件的SQL Select語句
- 22. sql select與條件2表的總和?
- 23. 帶條件參數的sql遊標
- 24. PHP/Apache文件寫權限不帶777
- 25. SQL選擇帶條件的區別
- 26. 使用一條語句對所有序列授予SELECT權限
- 27. SELECT權限被拒絕的對象
- 28. 插入帶條件的函數sql
- 29. SQL Developer - 帶條件的CASE語句
- 30. SELECT對SQL 2005視圖的訪問權限對底層表的限制訪問
根據ANSI SQL它不是。用'where table.id = <50'和grant select來創建一個視圖。 – jarlh