查询过程中的计算视图

2020-09-19 20:33发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我创建了以下目录...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我创建了以下目录过程:

创建过程XXXXXXXX(在GGGGMM整数中,在ID_IZPILDES_LAIKS整数中)
 语言SQLSCRIPT AS

 开始

 插入YYYYYYYY(ID_IZPILDES_LAIKS,ID_NODOKLMAKS,GADS_MENESIS,ID_KRITERIJS,VERTIBA)
      SELECT:ID_IZPILDES_LAIKS,
             NM_ID,
             :GGGGMM * 100 +1 AS GADS_MENESIS,
             KRIT_ID,
             SUM(KRIT_VERTIBA)
      FROM" _SYS_BIC"。" ZZZZ/BBBB"(PLACEHOLDER。" $$ PERIODS $$" =>:GGGGMM)
      GROUP BY GADS_MENESIS,KRIT_ID,NM_ID;
 结束;
 

如您所见,过程使用计算视图。 我可以将其称为过程的创建者/所有者,但是不能将此过程的 EXECUTE 权限授予其他用户。 我得到的错误看起来像这样:

特权不足:未获得授予该过程特权的权限

即使我授予整个架构的 EXECUTE 权限,用户仍然无法调用该过程。 他遇到错误:

权限不足:未经授权

其他用户可以查询计算视图,甚至可以在表上执行 INSERT 语句。 但是,当我将 INSERT 语句放入过程中时,我无法授予权限和/或以其他用户身份执行它。

是因为计算视图吗? 我会错过某些特权吗?

我还在一个软件包中创建了一个存储过程,此问题已解决,但我想知道它不起作用的原因。 此过程与我使用的其他过程之间的唯一区别是,它使用的是计算视图,而不是常规的表/视图。 这是唯一的方法吗?

2条回答
SAP浪
2020-09-19 21:08

感谢您的回复。 我想我现在明白了。 我还阅读了您的博客文章,并尝试通过将 SQLScript过程与DEFINER RIGHTS 一起使用来授予特权。 它起作用了,但是我想在这种情况下,我将坚持使用存储库过程而不是使用目录过程。

一周热门 更多>