|
INSERT в таблицу
|
|||
---|---|---|---|
#18+
Есть две таблицы . Таблица 1 по foreing key cвязана с таблицей 2 ,кот. имеет sequenсe . После добавления в таблицу 1 надо добавить запись в таблицу 2 одно из значений кот. равно ...SEQ.NEXTVAL. В таблицу 2 запись не добавляется , ошибка. function INS_referenc RETURN NUMBER IS NewKey INTEGER; begin SELECT REF_SEQ.NEXTVAL INTO newKEY FROM dual; INSERT INTO referenc(UKEY) VALUES (newKEY); RETURN(NewKey); end INS_referenc; procedure INS_PRP(num_gr IN NUMBER, num_ref IN NUMBER) is begin INSERT INTO relation_group(group_band,referenc) VALUES (num_gr,num_ref); end INS_PRP; ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2002, 13:56 |
|
INSERT в таблицу
|
|||
---|---|---|---|
#18+
А где вызов INS_referenc в процедуре INS_PRP? по моему показынные процедуры делают не то что написано словами. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2002, 16:09 |
|
INSERT в таблицу
|
|||
---|---|---|---|
#18+
Вообще то первоначально было написано так procedure INS_referenc(num_gr); IS NewKey INTEGER; begin SELECT REF_SEQ.NEXTVAL INTO newKEY FROM dual; INSERT INTO referenc(UKEY) VALUES (newKEY); INSERT INTO relation_group(group_band,referenc) VALUES (num_gr,newkey); end INS_referenc; для отладки переписано.Но ошибка одна и таже.Нарушено ограничение целостности. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2002, 16:33 |
|
INSERT в таблицу
|
|||
---|---|---|---|
#18+
Посмотите в документации подробнее о FOREIGN KEY и о contraints вообще. Там есть опция, которая указывает, что contraint должен проверяться только по окончании транзакции. Возможно именно оно. P.S. Насколько понимаю, если делать то же самое ручками, commit'я каждую запись, то всё работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2002, 02:00 |
|
INSERT в таблицу
|
|||
---|---|---|---|
#18+
Спасибо за помощь.Но ошибка в sequence. Правильно работает вот так procedure INS_referenc(num_gr); IS begin INSERT INTO referenc(UKEY) VALUES (REF_SEQ.NEXTVAL); INSERT INTO relation_group(group_band,referenc) VALUES (num_gr,REF_SEQ.CURRVAL); end INS_referenc; ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2002, 17:35 |
|
INSERT в таблицу
|
|||
---|---|---|---|
#18+
Спасибо за помощь.Но ошибка в sequence. Правильно работает вот так procedure INS_referenc(num_gr); IS begin INSERT INTO referenc(UKEY) VALUES (REF_SEQ.NEXTVAL); INSERT INTO relation_group(group_band,referenc) VALUES (num_gr,REF_SEQ.CURRVAL); end INS_referenc; ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2002, 17:38 |
|
|
start [/forum/topic.php?fid=52&msg=32036062&tid=1993269]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 286ms |
total: | 399ms |
0 / 0 |