如何限制数据库用户只能访问表的前100条记录

时间:2016-09-03 11:23:52

标签: sql-server database

假设我有一个名为db1的数据库和一个包含10000条记录的表,我在数据库中有一个名为user1的用户。

然后,如果user1在MS SQL服务器中输入查询:

select * from tb1, then it should return only 100 records.

只有为整个表授予读或写权限的选项。

1 个答案:

答案 0 :(得分:1)

评论太长了。

我认为没有任何内置的数据库方法可以做到这一点。通常,应用程序会" page"结果。如果应用程序在select * from tbl1中运行,则应用程序仅获取100行。注意:没有"顶行"的概念。在没有order by子句的SQL中。 SQL表代表无序集。

如果您想限制用户只能看到100行,那么您可以使用视图:

create view v_table as
   select top 100 t.* from tbl1 t;

另请注意,如果没有order by子句,这可能会在不同的执行中返回不同的行。