需求是这样的:
第三方要从我们的数据库里取数据。而这些数据是需要联合查询多张表才能得到。考虑到访问控制,即:
1、需要创建一个第三方用户给客户来连接我们的数据库,他的权限只能查询我们给他建立好的视图。
2、每次只允许客户查询上万条记录中的5000条。现在我的实现是:
在我们的用户下创建一个动态生成视图的存储过程,这个视图里加上了查询记录数的限制,把查询视图的sql语句返回给用户,让用户调用返回的sql语句进行数据查询。带来的问题是:
要怎样给第三方用户授权,使得他只能调用我们的存储过程,得到sql语句供他查询。
目前给的单方用户授权了视图的查询条件,甚至是视图关联到的表的查询条件,但结果是第三方用户调用这个存储过程时,创建视图的语句总有错。(已经时动态语句实现)