powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как лучше организовать подобное ограничение?
3 сообщений из 3, страница 1 из 1
Как лучше организовать подобное ограничение?
    #34346641
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть задача....
Таблица table1

rec_date | product_id
-----------------------------
'31/12/2006' | 1
'01/01/2007' | 1
'31/12/2006' | 2


Как лучше сделать проверку на следующие условия:
1. Невозможно добавить запись c датой меньшей max(rec_date) для product_id?
Например, такая команда должна выдавать ошибку:
insert into table1 (rec_date, product_id) values ('30/12/2006',1);


2. Невозможно удалить запись c датой меньшей max(rec_date) для product_id?
Например, такая команда должна выдавать ошибку:
delete from table1 where rec_date = '31/12/2006';

3. Невозможно изменить запись c датой меньшей max(rec_date) для product_id?
Например, такая команда должна выдавать ошибку:
update table1 set product_id = 3 where rec_date = '31/12/2006';

Запутался совсем....
...
Рейтинг: 0 / 0
Как лучше организовать подобное ограничение?
    #34347169
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
create trigger table1_bir
before insert on table1
referencing new as n
for each row
begin atomic
 if 
 (
   exists 
   (
   select  1  
   from table1 t 
   where t.product_id=n.product_id and n.rec_date < t.rec_date
   )
 ) then 
  SIGNAL SQLSTATE '75001'
   SET MESSAGE_TEXT='Achtung!!!';
 end if;
end@
Аналогично на update, delete.
...
Рейтинг: 0 / 0
Как лучше организовать подобное ограничение?
    #34347654
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо... Нечто похожее соорудил... Пока тестирую
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как лучше организовать подобное ограничение?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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