Stored procedures 将存储过程限制为仅执行选择操作

Stored procedures 将存储过程限制为仅执行选择操作,stored-procedures,sybase,database-permissions,Stored Procedures,Sybase,Database Permissions,可以将存储的过程限制为仅从数据库中选择 我想要一个只选择要正确执行的数据的存储过程,以及一个带有更新、创建、删除操作的存储过程,以返回一个指示权限不足的错误 我使用的是Sybase 12.5我认为您对问题的看法是错误的。本质上,一旦您向用户授予存储过程的execute权限,他们就可以执行该存储过程,不管它做什么 我认为您要做的是为数据库分配一个“只读”客户端角色,并仅对从数据库读取数据的存储过程授予SELECT权限和execute权限。将用户添加到该角色,而不是授予他们对数据库的SELECT访问

可以将存储的过程限制为仅从数据库中选择

我想要一个只选择要正确执行的数据的存储过程,以及一个带有
更新
创建
删除
操作的存储过程,以返回一个指示权限不足的错误


我使用的是Sybase 12.5

我认为您对问题的看法是错误的。本质上,一旦您向用户授予存储过程的execute权限,他们就可以执行该存储过程,不管它做什么


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

将写入和选择操作分别添加到不同的过程中。然后允许选择用户执行选择过程,允许写入用户执行选择和写入过程。这个技巧在PostgreSQL中非常有效。

我没有修改现有存储过程的选项。