Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 31
1

Создание триггера при добавлении в таблицу данных

25.01.2013, 17:49. Показов 1040. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь создать триггер, который при добавлении данных будет заносить добавленную троку в другую таблицу с историей операций.
SQL
1
2
3
4
5
6
CREATE OR REPLACE TRIGGER istory
AFTER INSERT ON polzovateli FOR EACH ROW
BEGIN
INSERT INTO istory (ID, dat, usr, operation, ID_OLD, family_old, name_old, otchestvo_old, type_old) 
VALUES (id_seq.nextval, sysdate, 'user1, 'INSERT', (select polzovateli.id from polzovateli), (select polzovateli.family from polzovateli), (select polzovateli.name from polzovateli), (select polzovateli.otchestvo from polzovateli), (select polzovateli.type from polzovateli)) ;
END;
Читал что надо использовать
SQL
1
:NEW
, но когда его пишешь
SQL
1
:NEW.otchestvo
, то возникает ошибка, а без него ругается при вставке данных. Помогите пожалуйста разобраться.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.01.2013, 17:49
Ответы с готовыми решениями:

Ошибка при добавлении данных в таблицу
Выбрасывает такую ошибку при записи в таблицу SQL.Add('insert into parent...

Ошибка при добавлении записи в таблицу.
Здрасьте! Такое дело. В навикате создал процедуру добавления записей в таблицу. В самом навикате...

Ошибка при добавлении записи в таблицу
Добрый день! При добавлении новой записи в таблицу ругается на выделенный символ: ......

При добавлении записи в таблицу выдает ошибку
при добовлении записи в таблицу выдает ошибку

5
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,255
26.01.2013, 08:17 2
Двоеточие тут лишнее. Правильно
SQL
1
NEW.otchestvo
0
912 / 877 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
26.01.2013, 10:12 3
Есть осторожное сомнение в том, что триггер и таблица не могут иметь одно имя. У вас же оно общее - istory.
0
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 31
26.01.2013, 10:16  [ТС] 4
Цитата Сообщение от SAMZ Посмотреть сообщение
Двоеточие тут лишнее. Правильно
SQL
1
NEW.otchestvo
когда пишешь new, то выводит вот такое:
1 PL/SQL: ORA-00904: "NEW"."ID": invalid identifier Trigger: istory (root@localhost) 5 72
2 PL/SQL: SQL Statement ignored Trigger:istory(root@localhost) 4 1
0
912 / 877 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
26.01.2013, 11:06 5
Вам лучше обратиться в ветку для Oracle, т.к. синтаксис триггеров очень различается между серверами.
0
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 31
26.01.2013, 11:15  [ТС] 6
Цитата Сообщение от arni Посмотреть сообщение
Вам лучше обратиться в ветку для Oracle, т.к. синтаксис триггеров очень различается между серверами.
Хорошо, задам этот вопрос в другой ветке. Спасибо.
0
26.01.2013, 11:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2013, 11:15
Помогаю со студенческими работами здесь

Ошибка при добавлении записи в таблицу через SQL
Когда я активирую ADOQuery, происходит ошибка "commandtext does not return a resultset". Сам SQl...

Ошибка при добавлении данных
Подскажите пожалуйста. procedure TFormAdd.btn1Click(Sender: TObject); var id_vid_peredachi:...

Ошибка при добавлении данных
При добавлении данных на главную форму, выводится ошибка, связанная с компонентом IBQuery2,...

Ошибка при добавлении данных БД
procedure TForm16.Button1Click(Sender: TObject); var s,m:String; begin begin ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru