Гость
Форумы / SQLite [игнор отключен] [закрыт для гостей] / помогите написать триггеры / 8 сообщений из 8, страница 1 из 1
14.05.2012, 18:17
    #37793679
besser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите написать триггеры
Помогите пожалуйста с триггерами
1. Дата сдачи КР не может быть меньше плановой даты КР
2. При изменении оценки КР, дата сдачи КР должна автоматически менятся на текущую, и новая оценка не должна быть меньше старой.
...
Рейтинг: 0 / 0
15.05.2012, 10:19
    #37794317
pit_alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите написать триггеры
besser,

как пробовали, что не получается?
...
Рейтинг: 0 / 0
15.05.2012, 13:11
    #37794886
besser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите написать триггеры
да не очень представляю как сделать...
ну первый триггер я бы написал вот так вот:
create trigger tr1
insert on sdachakr
when new.data_sdachi_kr >= (select srok_vipolneniya_kr from planovaya_data_kr)
begin
raise(rollback,'error');
end;


по второму триггеру нет идей
...
Рейтинг: 0 / 0
15.05.2012, 13:14
    #37794903
pit_alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите написать триггеры
besser,

просто Raise не пройдет, кроме того в запросе нужно выбирать конкретную дату а не все

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE TRIGGER [INSERT_SDACHAKR]
BEFORE INSERT
ON [SDACHAKR]
FOR EACH ROW
BEGIN
  SELECT CASE 
    WHEN (NEW.[DATA_SDACHI_KR] > (SELECT SROK_VIPOLNENIYA_KP FROM PLANOVA_DATA_KR WHERE  NAZVAMIEKP = NEW.NAZVAMIEKP)) 
    THEN RAISE(ABORT, 'POZDNO SDALI')     
  END;
END;



по второму все еще проще

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE TRIGGER [CHANGE_BAL]
BEFORE UPDATE OF [BAL]
ON [SDACHAKR]
FOR EACH ROW
WHEN NEW.[BAL] > OLD.[BAL]
BEGIN
  UPDATE SDACHAKR
  SET BAL = NEW.[BAL],
  DATA_SDACHI_KR = date(); 
END;
...
Рейтинг: 0 / 0
15.05.2012, 13:36
    #37794973
besser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите написать триггеры
ааа вот в чем дело то) спасибо большое
...
Рейтинг: 0 / 0
15.05.2012, 19:59
    #37795950
besser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите написать триггеры
а квадратные скобки обязательны? и они должны быть везде или где только ты поставил?
...
Рейтинг: 0 / 0
15.05.2012, 20:07
    #37795957
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите написать триггеры
besserа квадратные скобки обязательны? и они должны быть везде или где только ты поставил?Они вообще не нужны.
...
Рейтинг: 0 / 0
16.05.2012, 10:19
    #37796499
pit_alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите написать триггеры
Квадратные скобки подставил редактор SQLite Expert, а так они не нужны.
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / помогите написать триггеры / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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