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. 带条件的SQL语句
- 3. SQL - SELECT行有条件
- 4. 带条件帮助的MySQL SELECT
- 5. SELECT带OR条件的错误结果
- 6. 带有CASE内条件的SELECT计数
- 7. 测试条件上的文件权限
- 8. 带条件的SQL AVG
- 9. 带条件的SQL BULK INSERT
- 10. 带输入条件的SQL
- 11. 复制带目标权限的文件
- 12. SQL Server权限
- 13. sql select与条件2表的总和?
- 14. SQL SELECT基于条件的列
- 15. 带条件参数的sql游标
- 16. PHP/Apache文件写权限不带777
- 17. SQL选择带条件的区别
- 18. SELECT权限被拒绝的对象
- 19. DB2 SQL SELECT基于加权
- 20. 带条件的UPDATE CASE SQL Server
- 21. 带光标的条件动态SQL
- 22. google云sql权限
- 23. sql server express权限
- 24. mysql权限加入和条件
- 25. “public”SQL用户总是赋予EXECUTE和SELECT权限
- 26. 如何将条件插入SQL SELECT?
- 27. SQL条件SELECT可能为NULL
- 28. SQL插入进SELECT语句条件
- 29. SQL SELECT COUNT为多重条件/标准
- 30. 在SQL SELECT语句中给出条件
根据ANSI SQL它不是。用'where table.id = <50'和grant select来创建一个视图。 – jarlh