powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Создание триггера вставки к view
3 сообщений из 3, страница 1 из 1
Создание триггера вставки к view
    #39420514
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Помогите пожалуйста разобраться с триггер функцией
Код: sql
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.
CREATE OR REPLACE VIEW bn."Косметика линии" AS
 SELECT "COSMETICA_POLY".mslink,
    "COSMETICA_POLY".label_ AS "Подпись",
    "COSMETICA_POLY".comment_ AS "Комментарий",
    "COSMETICA_POLY".datechange AS "Дата создания",
    "COSMETICA_POLY".userdomain AS "Автор",
    "COSMETICA_POLY".shape
   FROM bn."COSMETICA_POLY";

-- Создание триггер функции
CREATE OR REPLACE FUNCTION bn.trigger_cosmetica_poly_i()  RETURNS trigger LANGUAGE plpgsql AS
$$
BEGIN
  NEW.mslink := nextval('bn."COSMETICA_POLY_mslink_seq"'::regclass);
  NEW.userdomain := 'Проверка';
  INSERT INTO bn."COSMETICA_POLY"(mslink, shape, label_, comment_, datechange, userdomain)
         VALUES (NEW.mslink, NEW.shape, NEW.label_, NEW.comment_, NEW.datechange, NEW.userdomain);
  RETURN NEW;
END
$$

-- Создание триггера
CREATE TRIGGER cosmetica_poly_i
INSTEAD OF INSERT ON bn."Косметика линии" FOR EACH ROW
EXECUTE PROCEDURE bn.trigger_cosmetica_poly_i ()



Я не совсем понимаю как правильно корректировать поле userdomain в триггер функции, если это поле в представлении имеет другое имя "Автор"? Как это сделать?
...
Рейтинг: 0 / 0
Создание триггера вставки к view
    #39420794
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
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.
CREATE OR REPLACE VIEW bn."Косметика линии" AS
 SELECT "COSMETICA_POLY".mslink,
    "COSMETICA_POLY".label_ AS "Подпись",
    "COSMETICA_POLY".comment_ AS "Комментарий",
    "COSMETICA_POLY".datechange AS "Дата создания",
    "COSMETICA_POLY".userdomain AS "Автор",
    "COSMETICA_POLY".shape
   FROM bn."COSMETICA_POLY";

-- Создание триггер функции
CREATE OR REPLACE FUNCTION bn.trigger_cosmetica_poly_i()  RETURNS trigger LANGUAGE plpgsql AS
$$
BEGIN
  NEW.mslink := nextval('bn."COSMETICA_POLY_mslink_seq"'::regclass);
  NEW."Автор" := 'Проверка';
  INSERT INTO bn."COSMETICA_POLY"(mslink, shape, label_, comment_, datechange, userdomain)
         VALUES (NEW.mslink, NEW.shape, NEW.label_, NEW.comment_, NEW.datechange, NEW."Автор");
  RETURN NEW;
END
$$

-- Создание триггера
CREATE TRIGGER cosmetica_poly_i
INSTEAD OF INSERT ON bn."Косметика линии" FOR EACH ROW
EXECUTE PROCEDURE bn.trigger_cosmetica_poly_i ()
...
Рейтинг: 0 / 0
Создание триггера вставки к view
    #39420865
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Создание триггера вставки к view
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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