powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Триггер BEFORE DELETE
2 сообщений из 2, страница 1 из 1
Триггер BEFORE DELETE
    #35327591
Youra Polishuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При удалении из таблицы doc_tree записи, нужно удалять все записи
из подчиненной таблицы doc_gen.
Напирмер удаляем запись с id = 12 из таблицы doc_tree

Код: plaintext
delete from doc_tree where id= 12 ;

Вот что выдает:

Код: plaintext
1.
2.
3.
4.
ERROR:  колонка "id_low" не существует
СТРОКА 1:delete from doc_gen where id_low= $1 
                                ^
ЗАПРОС:  delete from doc_gen where id_low= $1 
КОНТЕКСТ:  PL/pgSQL function "del_doc_tree_record" line 2 at SQL statement

Функция и триггер для удаления из таблицы doc_gen

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE OR REPLACE FUNCTION del_doc_tree_record()
RETURNS opaque AS $$
BEGIN
  delete from doc_gen where id_low=OLD.id;  
END;
$$ LANGUAGE 'plpgsql';

CREATE TRIGGER del_doc_tree_record_trig
BEFORE DELETE
 ON doc_tree FOR EACH ROW
 EXECUTE PROCEDURE del_doc_tree_record();

Как указать триггерной функции, что удаляется именно запись с id=12

Код: plaintext
1.
  delete from doc_gen where [FIXED]id_low=OLD.id[/FIXED];  
                                                  ^^^ Как указать?
...
Рейтинг: 0 / 0
Триггер BEFORE DELETE
    #35327592
Youra Polishuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разобрался.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Триггер BEFORE DELETE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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