Гость
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / DDL триггер / 6 сообщений из 6, страница 1 из 1
27.01.2022, 12:35
    #40129858
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DDL триггер
Дано:

1. В схеме System создал DDL триггер на создание таблички TEST

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
CREATE OR REPLACE TRIGGER SYSTEM.TEST_CREATE_TABLE
AFTER CREATE ON MYUSER.SCHEMA

--      Объявления переменных
    DECLARE
    nExist number(1) := 0;
   BEGIN
      IF ora_dict_obj_owner IN ('MYUSER') AND ora_dict_obj_type IN ('TABLE') 
        THEN
            IF ora_sysevent = 'CREATE' 
                THEN
                -- Проверяем имя таблицы 
                    IF UPPER(ora_dict_obj_name) = 'TEST' 
                        THEN
                         nExist := 1; 
                            
                    end if; 
            end if; 
      end if;
   END TEST_CREATE_TABLE;



2. Создаю табличку TEST под юзером MYUSER

Код: plsql
1.
create table MYUSER.test (f1 varchar2(10 CHAR));



Получаю ошибку:

авторORA-01031: привилегий недостаточно
01031. 00000 - "insufficient privileges"

Вопрос:

В какой схеме необходимо/обычно создаются DDL триггеры и какие права нужны, что бы триггер отработал на создание таблички?
...
Рейтинг: 0 / 0
27.01.2022, 13:31
    #40129878
oragraf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DDL триггер
PaulWist,

У пользователя myuser есть привилегия create table?
...
Рейтинг: 0 / 0
27.01.2022, 14:13
    #40129897
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DDL триггер
oragraf
PaulWist,

У пользователя myuser есть привилегия create table?


Блиииин, Спасибо.
...
Рейтинг: 0 / 0
27.01.2022, 14:51
    #40129920
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DDL триггер
oragraf
PaulWist,

У пользователя myuser есть привилегия create table?


Если это делается, как написал ТС. значит есть или возможны варианты?

Код: plsql
1.
2.
2. Создаю табличку TEST под юзером MYUSER
create table MYUSER.test (f1 varchar2(10 CHAR));
...
Рейтинг: 0 / 0
27.01.2022, 16:33
    #40129974
oragraf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DDL триггер
Ролг Хупин,

1. При создании таблицы сразу ошибка
2. Можно создать другим пользователем, у которого есть привилегия create any table
...
Рейтинг: 0 / 0
27.01.2022, 17:37
    #40129998
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DDL триггер
oragraf
Ролг Хупин,

1. При создании таблицы сразу ошибка
2. Можно создать другим пользователем, у которого есть привилегия create any table



Всё, моя ошибка, показалось что таблица создается, а при создании триггера ошибка.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / DDL триггер / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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