Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помощь в написании триггера. / 9 сообщений из 9, страница 1 из 1
02.10.2017, 13:51
    #39529379
Vlrznv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании триггера.
Здравствуйте, очень нужна ваша помощь. Для контрольной работы попросили сделать триггер, который при изменении в табличке VR_DOG в столбце DATA_OKON при изменении (добавлении/удалении) даты автоматически в таблице VR_RAB в столбце STATUS_RAB делает следующие записи: если есть дата, то «уволен», если нет даты - «работает». Написала триггер, но он не работает. Не догоняю в чем дело, поэтому прошу о помощи!
...
Рейтинг: 0 / 0
02.10.2017, 14:31
    #39529403
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании триггера.
VlrznvДля контрольной работы попросили сделать триггер это 5. на котрольной учитель просит ?
Vlrznv Написала триггер, но он не работает. а это 2.
VlrznvНе догоняю в чем дело, поэтому прошу о помощи! помощь
...
Рейтинг: 0 / 0
02.10.2017, 14:57
    #39529421
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании триггера.
Триггер должен быть for each row.
UPDATE VR_DOG, а надо VR_RAB.

Попробуйте продолжить сами.
...
Рейтинг: 0 / 0
02.10.2017, 15:07
    #39529434
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании триггера.
dmdmdmТриггер должен быть for each row.
UPDATE VR_DOG, а надо VR_RAB.

Попробуйте продолжить сами.

автор табличке VR_DOG в столбце DATA_OKON при изменении (добавлении/удалении) даты автоматически в таблице VR_RAB ...


опечатка?
.....
stax
...
Рейтинг: 0 / 0
02.10.2017, 15:41
    #39529471
Vlrznv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании триггера.
Stax,

Нет, не опечатка.
...
Рейтинг: 0 / 0
02.10.2017, 15:45
    #39529479
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании триггера.
VlrznvStax,
Нет, не опечатка.

шо делать если в VR_RAB нет записи для работника?

ps
если не секрет, попросили, кто?

....
stax
...
Рейтинг: 0 / 0
02.10.2017, 16:14
    #39529510
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании триггера.
Vlrznv,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
SQL> CREATE OR REPLACE TRIGGER tr_vr_dog_aiu
  2  AFTER INSERT OR UPDATE OF data_okon  ON vr_dog
  3  FOR EACH ROW
  4  begin
  5   update vr_rab set status_rab=decode(:new.data_okon,null,'Работает','Уволен') where id_rab=:new.id_rab;
  6  end;
  7  /

Trigger created.

SQL> select * from vr_dog;

    ID_RAB FIO                  DATA_OKO
---------- -------------------- --------
         1 Vlrznv               02.10.17
         2 Stax

SQL> ed
Wrote file afiedt.buf

  1* update vr_dog set data_okon=decode(data_okon,null,sysdate,null)
SQL> /

2 rows updated.

SQL> select * from vr_rab;

    ID_RAB STATUS_RAB
---------- --------------------
         1 Работает
         2 Уволен

SQL> select * from vr_dog;

    ID_RAB FIO                  DATA_OKO
---------- -------------------- --------
         1 Vlrznv
         2 Stax                 02.10.17

SQL>



ps
шо делать если изменят id_rab?

.....
stax
...
Рейтинг: 0 / 0
02.10.2017, 16:21
    #39529516
trace.log
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании триггера.
Stax,

на что намек? если первичный ключ, разве его можно изменить?
...
Рейтинг: 0 / 0
02.10.2017, 16:32
    #39529524
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании триггера.
trace.logStax,

на что намек? если первичный ключ, разве его можно изменить?

намек на то, если вумный поменяет id_rab, как ето отразится в vr_rab

можно/нельзя другой ворос

ps
к задачке ето отношения не имеет, там однозначно

Код: plsql
1.
при изменении в табличке VR_DOG в столбце DATA_OKON



шоб лишний раз не update-ть можно/надо добавить проверку на изменение с null на дату и наоборот

.....
stax
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помощь в написании триггера. / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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