Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.14;
Скачать: CL | DM;

Вниз

insert into () select from   Найти похожие ветки 

 
jack128 ©   (2006-03-20 00:30) [0]

День добрый.
Есть следующие таблицы
periods(id, caption, start_date) //id герится в тригере,  start_date тоже.
generalization_folders - это обычное дерево (id, caption, parent_id) соответственно parent_id и id связаны FK
generalizations - листья этого дерева. (id, caption, parent_id <- ссылка на folders.id, тоже связана по FK)
Есть такой запрос

insert into periods
 (caption)
select caption from generalizations g

Пытаюсь выполнить в IBExpert - на выходе получаю

Invalid insert or update value(s): object columns are
constrained - no 2 table rows can have duplicate column values.
violation of PRIMARY or UNIQUE KEY constraint "PK_GENERALIZATION_FOLDERS" on table "GENERALIZATION_FOLDERS".

Есть один тонкий момент. ID для всех таблиц берутся из одного генератоора, но в определенный момент я кое чего намудрил и получилось, что gen_general < max(id) from generelization_folders/generalizations. По при этом gen_general > max(id) from periods. то есть при вставки в таблицу periods - проблем быть не должно. Однако проблемы есть. Но когда я выставил генератору нормальное значение (max(generalization_id, generlization_folder_idб period_id))  ошибка исчезла.

Собственно вопрос: что это было??  И почему?? И как PK абсолютно левой таблицы влияет на выполнимость данного запроса??


 
Reindeer Moss Eater ©   (2006-03-20 00:51) [1]

А так:
select g.caption from generalizations g

?


 
jack128 ©   (2006-03-20 10:12) [2]

Reindeer Moss Eater ©   (20.03.06 0:51) [1]
не-а. Тоже самое


 
Johnmen ©   (2006-03-20 10:27) [3]

А что в триггере periods"а?


 
jack128 ©   (2006-03-20 10:39) [4]

стандартный тригер..
CREATE TRIGGER PERIODS_BI FOR PERIODS
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
 IF (NEW.ID IS NULL) THEN
   NEW.ID = GEN_ID(GEN_GENERAL,1);
END


 
jack128 ©   (2006-03-20 10:40) [5]

А!!!  Блин, как всегда.. Там есть еще один трегерок, который вставляет запись как раз в GENERALIZATION_FOLDERS. Ступил. Всем спасибо, вопрос закрыт.


 
Johnmen ©   (2006-03-20 10:42) [6]

Какие ключи/индексы на periods?


 
Johnmen ©   (2006-03-20 10:46) [7]

>jack128 ©   (20.03.06 10:40) [5]

Обычно так и бывает...:)



Страницы: 1 вся ветка

Текущий архив: 2006.05.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
1-1144229332
kyn66
2006-04-05 13:28
2006.05.14
Перехват ввода с клавиатуры


15-1145262848
boriskb
2006-04-17 12:34
2006.05.14
Прошу оценить сайт :)


6-1137857835
GanibalLector
2006-01-21 18:37
2006.05.14
(Berkeley-style sockets) теория


2-1146141713
Начинающий5
2006-04-27 16:41
2006.05.14
Начинающий5


2-1146167624
Alecs
2006-04-27 23:53
2006.05.14
Excel Delphi работа с уже открытым файлом