Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Создание триггера вставки к view / 3 сообщений из 3, страница 1 из 1
16.03.2017, 10:08
    #39420514
Nechto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание триггера вставки к view
Здравствуйте!

Помогите пожалуйста разобраться с триггер функцией
Код: 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
16.03.2017, 14:14
    #39420794
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание триггера вставки к view
Код: 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
16.03.2017, 15:17
    #39420865
Nechto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание триггера вставки к view
Спасибо!
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Создание триггера вставки к view / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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