限制存储过程仅执行SELECT操作

时间:2010-02-11 00:21:37

标签: stored-procedures sybase database-permissions

是否可以将存储过程仅限制为SELECT数据库。

我想要一个存储过程,它只选择要正确执行的数据和一个带有UPDATECREATEDELETE操作的存储过程,以返回指示权限不足的错误。

我正在使用Sybase 12.5

2 个答案:

答案 0 :(得分:1)

我认为你正在以错误的方式看问题。实质上,一旦您授予用户对存储过程的执行权限,他们就可以执行该存储过程,无论它做什么。

我认为您要做的是为数据库分配“只读”客户端角色,并仅对从数据库中读取数据的存储过程授予SELECT权限和执行权限。将用户添加到该角色,而不是授予他们对数据库的SELECT访问权。

答案 1 :(得分:0)

单独编写和选择不同程序的操作。然后允许选择用户执行选择程序并编写用户执行选择和编写程序。这个技巧适用于PostgreSQL。