
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
25.04.2014, 05:22:20
|
|||
|---|---|---|---|
|
|||
Триггер в postgresql |
|||
|
#18+
есть такая задача: "Реализовать триггер, обеспечивающий при удалении ограничение целостности вида (1,∞)." что значит "ограничение целостности вида (1,∞)"?! И как это можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2014, 10:03:48
|
|||
|---|---|---|---|
|
|||
Триггер в postgresql |
|||
|
#18+
один ко многим, one to many 40.9.1. Triggers on data changes если правильно понял, это учебная задачка, нельзя использовать foreign key, а реализовать функциональность с помощью trigger. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2014, 16:35:26
|
|||
|---|---|---|---|
|
|||
Триггер в postgresql |
|||
|
#18+
всё оказалось просто. Задание было таким: Есть таблица kurs, где прописаны все существующие курсы и инфа о них, а есть таблица nag, где в каждой строчке прописан среди прочего прописан какой-то номер курса. Так вот, триггер должен быть следить: как только из таблицы nag удаляют строку с прописанным курсом x, он проверяет, есть ли ещё в таблице nag строки с курсом x, если нет, то тогда он удаляет из таблицы kurs строку с курсом x. CREATE TRIGGER t_n AFTER DELETE on nag FOR EACH ROW EXECUTE PROCEDURE dell_k(); CREATE OR REPLACE FUNCTION dell_k() RETURNS TRIGGER AS $$ DECLARE astr integer; BEGIN IF TG_OP = 'DELETE' THEN astr = OLD.n_k; IF (SELECT n_k FROM nag WHERE n_k=astr) THEN DELETE FROM nag WHERE n_k = astr; ELSE DELETE FROM kurs WHERE n_k = astr; END IF; RETURN OLD; END IF; END; $$ LANGUAGE plpgsql; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=1998685]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
215ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 489ms |

| 0 / 0 |
