2010-02-11 16 views
0

可以將存儲過程僅限於數據庫中的SELECT限制存儲過程僅執行SELECT操作

我想要一個存儲過程,只選擇要正確執行的數據,存儲過程與UPDATE,CREATE,DELETE操作返回一個錯誤,指示權限不足。

我正在使用Sybase 12.5

回答

1

我認爲您正在以錯誤的方式查看問題。從本質上講,一旦您授予用戶對存儲過程的執行權限,無論它執行什麼操作,他們都可以執行該存儲過程。

我認爲你想要做的是給你的數據庫分配一個「只讀」客戶角色,並授予SELECT權限以及僅對從數據庫讀取數據的存儲過程授予執行權限。將用戶添加到該角色,而不是授予他們對數據庫的SELECT訪問權限。

+0

謝謝傑西,看起來像一個很好的解決方案。 – vaughan

0

單獨書寫和選擇不同程序的動作。然後允許選擇用戶執行選擇程序並寫入用戶執行選擇和寫入程序。這個技巧在PostgreSQL中運行得非常好。

+0

我沒有修改現有sprocs的選項。 – vaughan