Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
15-1145469529
Галинка
2006-04-19 21:58
2006.05.14
Delphi Personal Edition


3-1143026390
Ega23
2006-03-22 14:19
2006.05.14
ADOConnection - проверка коннекта


4-1140527247
Стас
2006-02-21 16:07
2006.05.14
События от мыши


15-1145288708
TUser
2006-04-17 19:45
2006.05.14
Защита от паразита


8-1134812696
Фео
2005-12-17 12:44
2006.05.14
Драм-машина




   Наверх