powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Автоматическая генерация GRANT для MERGE в процедурах, пакетах, функциях
2 сообщений из 2, страница 1 из 1
Автоматическая генерация GRANT для MERGE в процедурах, пакетах, функциях
    #40005860
Dimbuch®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Версия IBExpert 2020.10.3.1

При использовании MERGE в процедурах, функциях, пакетах не раздаются гранты на DELETE.
Приходится вручную следить и добавлять, что очень неудобно. Иногда можно забыть.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
CREATE TABLE NEW_TABLE1 (
    ID      INTEGER,
    FIELD1  INTEGER
);

CREATE TABLE NEW_TABLE2 (
    ID      INTEGER,
    FIELD1  INTEGER
);

SET TERM ^ ;

CREATE OR ALTER PROCEDURE new_procedure1
AS
BEGIN
  -- При раздаче автогрантов, грант на DELETE не раздаётся
  MERGE INTO new_table1 t
  USING new_table2 s
    ON s.id = t.id
  WHEN MATCHED THEN
    DELETE;


  -- При раздаче автогрантов, грант на UPDATE, INSERT раздаётся нормально
  MERGE INTO new_table1 t
  USING new_table2 s
    ON s.id = t.id
  WHEN MATCHED THEN
    UPDATE SET
      field1 = s.field1
  WHEN NOT MATCHED THEN
    INSERT (id, field1)
    VALUES (s.id, s.field1);

END^

SET TERM ; ^

/* Following GRANT statements are generated automatically */

-- Гранта на DELETE нет
GRANT SELECT,INSERT,UPDATE ON NEW_TABLE1 TO PROCEDURE NEW_PROCEDURE1;
GRANT SELECT ON NEW_TABLE2 TO PROCEDURE NEW_PROCEDURE1;
...
Рейтинг: 0 / 0
Автоматическая генерация GRANT для MERGE в процедурах, пакетах, функциях
    #40006015
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправил.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Автоматическая генерация GRANT для MERGE в процедурах, пакетах, функциях
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]