Discuz教程网

此题怎解?关于第三方用户授权执行存储过程动态创建视图并查询的问题。

[复制链接]
authicon 移动之火 发表于 2010-10-26 10:01:51 | 显示全部楼层 |阅读模式

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




上一篇:埃森哲电网项目招聘实习生(北京)
下一篇:Oracle 9i 入门基础教程(中文版)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 21:49

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表