Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.05.14;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.016 c
2-1145272457
Сергей И
2006-04-17 15:14
2006.05.14
работа с DBgrid


15-1145191437
Pazitron_Brain
2006-04-16 16:43
2006.05.14
CMS без баз данных


2-1145876894
Mikhail
2006-04-24 15:08
2006.05.14
Ранжирование выборок


4-1140431669
Wolfram
2006-02-20 13:34
2006.05.14
Как отловить нажатие alt


2-1146083600
chai
2006-04-27 00:33
2006.05.14
Работа с поинтерами: корректен ли этот код?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский