powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / вопрос про глобальный триггер
5 сообщений из 5, страница 1 из 1
вопрос про глобальный триггер
    #36116143
Larsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ли в DB2 глобальные триггеры, т.е. триггер на событие в базе данных в целом, или что то подобное?
ЗЫ
Это надо для вот такой задачи: необходимо проверять наличие определенной записи в таблице при коннекте пользователя и если нет, то добавлять ее.
...
Рейтинг: 0 / 0
вопрос про глобальный триггер
    #36116608
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Легко можно видеть отсутствие подобного, просто заглянув в SQL Reference и посмотрев синтаксис CREATE TRIGGER.

Конечно, возникает вопрос, не называется ли в DB2 эта конструкция иначе, или нет ли других средств реализовать желаемое. Мне в голову пришёл только встроенный аудит. И тогда хочется услышать, а почему "необходимо"
Larsikпроверять наличие определенной записи в таблице при коннекте пользователя и если нет, то добавлять ее.Ещё один аудит?
...
Рейтинг: 0 / 0
вопрос про глобальный триггер
    #36117621
Larsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor MetelitsaЛегко можно видеть отсутствие подобного, просто заглянув в SQL Reference и посмотрев синтаксис CREATE TRIGGER.


Смотрел, но либо я не увидел этого между строк, либо действительно это как-то называется по другому.


Victor Metelitsa
Конечно, возникает вопрос, не называется ли в DB2 эта конструкция иначе, или нет ли других средств реализовать желаемое. Мне в голову пришёл только встроенный аудит. И тогда хочется услышать, а почему "необходимо"
Larsikпроверять наличие определенной записи в таблице при коннекте пользователя и если нет, то добавлять ее.Ещё один аудит?

А это для того, что бы при коннекте нового пользователя, ему автоматом выдавались самые низкие права в системе.
...
Рейтинг: 0 / 0
вопрос про глобальный триггер
    #36117880
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Larsik
Смотрел, но либо я не увидел этого между строк, либо действительно это как-то называется по другому.

Если не видите - значит, нет.
А это для того, что бы при коннекте нового пользователя, ему автоматом выдавались самые низкие права в системе.

Вот мои фантазии на тему
Код: plaintext
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.
CREATE VIEW V_APP_RIGHTS AS
WITH
  T_ID (U_ID) AS (
     VALUES(USER)
  )
SELECT 
   COALESCE(T2.rights, T3.rights) rights
FROM T_ID T1
   LEFT JOIN T_APP_RIGHTS T2 ON T1.U_ID=T2.U_ID
   JOIN T_APP_DEFAULT_RIGHTS T3 ON  1 = 1 

или

CREATE VIEW V_APP_RIGHTS AS
SELECT 
   T2.rights
FROM T_APP_RIGHTS T2 
WHERE USER=T2.U_ID
UNION ALL
SELECT 
   T3.rights
FROM T_APP_DEFAULT_RIGHTS T3 
WHERE NOT EXISTS(
  SELECT * 
  FROM T_APP_RIGHTS T2x 
  WHERE USER=T2x.U_ID
)

(можно ещё вариантов напридумывать)

CREATE VIEW V_APP_RIGHTS AS
SELECT 
   COALESCE(T2.rights, T3.rights) rights
FROM T_ID T1
   T_APP_DEFAULT_RIGHTS T3 
   LEFT JOIN
   T_APP_RIGHTS T2 ON USER=T2.U_ID



Некая неназванная хранимая процедура узнаёт права из однострочного view по имени V_APP_RIGHTS.

"Таблица" T_ID содержит строку с колонкой U_ID - именем приконнекченного пользователя (USER - это SPECIAL REGISTER).
Права пользователей описаны в таблице T_APP_RIGHTS (ключ - U_ID). Если текущий юзер там не описан, берутся значения из однострочной таблицы T_APP_DEFAULT_RIGHTS.
...
Рейтинг: 0 / 0
вопрос про глобальный триггер
    #36117923
Larsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Metelitsa,

Спасибо, буду экспериментировать
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / вопрос про глобальный триггер
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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