Главная страница
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.041 c
1-1144150939
VIB1
2006-04-04 15:42
2006.05.14
MS SQL 2005 QuickReport


3-1142684878
xayam
2006-03-18 15:27
2006.05.14
Проблема с SQL


15-1144698408
Галинка
2006-04-10 23:46
2006.05.14
Ищу книгу


2-1145209254
parovoZZ
2006-04-16 21:40
2006.05.14
Транзакции


3-1142913265
Dyusha
2006-03-21 06:54
2006.05.14
Подстановка значений в поля