powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / помогите написать триггеры
8 сообщений из 8, страница 1 из 1
помогите написать триггеры
    #37793679
besser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста с триггерами
1. Дата сдачи КР не может быть меньше плановой даты КР
2. При изменении оценки КР, дата сдачи КР должна автоматически менятся на текущую, и новая оценка не должна быть меньше старой.
...
Рейтинг: 0 / 0
помогите написать триггеры
    #37794317
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
besser,

как пробовали, что не получается?
...
Рейтинг: 0 / 0
помогите написать триггеры
    #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
помогите написать триггеры
    #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
помогите написать триггеры
    #37794973
besser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ааа вот в чем дело то) спасибо большое
...
Рейтинг: 0 / 0
помогите написать триггеры
    #37795950
besser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а квадратные скобки обязательны? и они должны быть везде или где только ты поставил?
...
Рейтинг: 0 / 0
помогите написать триггеры
    #37795957
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
besserа квадратные скобки обязательны? и они должны быть везде или где только ты поставил?Они вообще не нужны.
...
Рейтинг: 0 / 0
помогите написать триггеры
    #37796499
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квадратные скобки подставил редактор SQLite Expert, а так они не нужны.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / помогите написать триггеры
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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