DB2 LUW中存储过程的特权/安全性

时间:2019-03-11 09:41:34

标签: sql stored-procedures db2 db2-luw

更新的问题: 我的问题的核心是:由于以下原因,我创建的存储过程(User1)无法从某些特定表(另一个用户(User2)创建的表1)中进行选择:

CREATE OR REPLACE PROCEDURE TEST_SCHEMA.TEST_PROCEDURE(OUT r_count INTEGER)
LANGUAGE SQL
BEGIN
       SET r_count = (SELECT COUNT(*) FROM TEST_SCHEMA.TABLE1);
END
  

好。没有行受到影响   SQLWarning:代码:20480 SQL状态:0168Y   ---新定义的对象“ TEST_SCHEMA.TEST_PROCEDURE”被标记为无效,因为它引用了对象“ TEST_SCHEMA.TABLE1”   未定义或无效,或者定义者没有权限   访问它。SQLCODE= 20480,SQLSTATE = 0168Y,DRIVER = 4.22.29

但是,当我在正常查询窗口中从table1中进行选择时,没有问题,因此我认为存储过程中的安全性选项有问题

SELECT COUNT(*) FROM TEST_SCHEMA.TABLE1

表和存储过程的名称是完全限定的。该存储过程由user1创建并执行。授予用户1从表1中选择的特权是组特权。

0 个答案:

没有答案