Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при создании триггера, Ошибка при создании триггера 
V
    Опции темы
Yugine
Дата 20.8.2007, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 12.3.2006

Репутация: нет
Всего: нет



Создаю триггеры для автоматического заполнения ключевых полей таблиц.
Например:
такая таблица:
Код

CREATE TABLE "BTGUSER"."DEVICES" ("ID" NUMBER NOT NULL, "TYPEID" 
    NUMBER, "MODEL" VARCHAR2(100), PRIMARY KEY("ID"), 
    UNIQUE("MODEL"), FOREIGN KEY("TYPEID") 
    REFERENCES "BTGUSER"."TYPES"("ID") ON DELETE CASCADE)  
    TABLESPACE "SC" 


создаю триггер на нее следующим образом:
Код

CREATE OR REPLACE TRIGGER "BTGUSER"."DEV_TRIGGER"
BEFORE INSERT ON BTGUSER.DEVICES
FOR EACH ROW

DECLARE
BEGIN

SELECT "BTGUSER".DEV_SEQUENCE.NEXTVAL INTO:NEW."ID" FROM SYS."DUAL";
END;


Триггер благополучно создается.

Есть таблица, для которой я создаю триггер аналогичным образом, но при этом вылазят ошибки:
вот таблица:
Код

CREATE TABLE "BTGUSER"."IN_REPAIRING" ("ID" NUMBER NOT NULL, 
    "PRIEM_ID" NUMBER NOT NULL, "TASK_GIVER_ID" NUMBER NOT NULL, 
    "WORKER_ID" NUMBER NOT NULL, "DATE" DATE NOT NULL, "END_DATE"
    DATE NOT NULL, "NOTES" VARCHAR2(200), PRIMARY KEY("ID"), 
    FOREIGN KEY("PRIEM_ID") 
    REFERENCES "BTGUSER"."POSTUPLENIA"("ID") ON DELETE CASCADE, FOREIGN 
    KEY("TASK_GIVER_ID") 
    REFERENCES "BTGUSER"."EMPLOYEES"("ID"), FOREIGN 
    KEY("WORKER_ID") 
    REFERENCES "BTGUSER"."EMPLOYEES"("ID"))  
    TABLESPACE "SC" 


триггер для нее создаю так:
Код

CREATE OR REPLACE TRIGGER "BTGUSER"."REPAIR_TRIGGER"
BEFORE INSERT ON BTGUSER.IN_REPAIRING
FOR EACH ROW

DECLARE
BEGIN

SELECT "BTGUSER".REP_SEQUENCE.NEXTVAL INTO:NEW."ID" FROM SYS."DUAL";
END;


при этом вылазит ошибка:
BEFORE INSERT ON BTGUSER.IN_REPAIRING
                         *
ERROR at line 2:
ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-320: the declaration of the type of this expression is incomplete or malformed
PM MAIL   Вверх
Exception
Дата 20.8.2007, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 1
Всего: 186



Нехорошо называть поля таблицы ключевыми словами.
http://www.sql.ru/forum/actualthread.aspx?tid=54271
PM   Вверх
Yugine
Дата 21.8.2007, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 12.3.2006

Репутация: нет
Всего: нет



Да, проблема была именно в этом. Спасибо за помощь!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0585 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.