#sql #oracle-sqldeveloper
#sql #oracle-sqldeveloper-разработчик
Вопрос:
CREATE TABLE fav_sports
(
ID int,
sport varchar(20)
);
CREATE TABLE try_outs
(
ID int
);
CREATE TRIGGER players
BEFORE INSERT ON fav_sports
FOR EACH ROW
BEGIN
INSERT INTO try_outs VALUES(NEW.ID);
END;
Всякий раз, когда я пытаюсь обновить «try_outs» с помощью триггера «players», я получаю сообщение об ошибке — «Оператор SQL игнорируется» и «столбец здесь не разрешен».
Пожалуйста, помогите.
Программа выдает ошибки при создании этого триггера.
Комментарии:
1. Пара вещей. 1) Пожалуйста, отредактируйте сообщение и отметьте конкретную платформу базы данных. 2) Пожалуйста, укажите ваш оператор insert. 3) Хорошей привычкой всегда является явный список столбцов в инструкции insert. Это сэкономит вам время и разочарование в будущем.
Ответ №1:
Небольшая синтаксическая ошибка. Изменить:
NEW.ID
Для:
:NEW.ID
Итак, полная строка выглядит так:
INSERT INTO try_outs VALUES(:NEW.ID);
Смотрите живую демонстрацию.