|
|
|
Child record found
|
|||
|---|---|---|---|
|
#18+
Здаствуйте , Имеем 2 таблицы А и Б . Таблица Б дочерняя по столбцу ID . (On DELETE CASCADE не включен ) Задача : Удалить несколько строк из обеих таблиц по признаку ID < XXX Мой порядок действии : Удаляю нужные записи из таблицы Б >>>> OK! Удаляю нужные записи из таблицы А >>>> Error, integrity constraint ( constraint_name) violated - child record found . Проверяю , все строки удаленны и таблица А свободна . Подскажите пожалуйста в чем проблема . Как мне удалить записи из таблицы А ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 09:50 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
maverick2104, Официальный язык форума - SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:00 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
автор все строки удаленны и таблица А свободна Это как??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:03 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
-2-maverick2104, Официальный язык форума - SQL. Это вы к чему ? Если нечего сказать пропустите ход пожалуйста . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:03 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
tru55автор все строки удаленны и таблица А свободна Это как??? Я иммею ввиду что нету привязки по записям так как из таблицы Б они удаленны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:04 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
maverick2104Я иммею ввиду что нету привязки по записям так как из таблицы Б они удаленны. Чудес на свете не бывает. Если возникла ошибка, значит хотя бы одна дочерняя строка осталась. Кстати, при ошибке выдается наименование constraint. Неплохо бы на него посмотреть, поскольку могут быть и другие FK. Еще вариант - если ты удалил дочерние строки в одной сессии и без COMMIT пытаешься удалить родительские строки в другой сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:07 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
maverick2104Это вы к чему ?Мы не верим твоему эпистолярному языку. Потрудись http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:07 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
tru55, Посмотрел в dba_constraints , FK только один. В том то и дело что записей не осталось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:15 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
maverick2104-2-maverick2104, Официальный язык форума - SQL. Это вы к чему ? Если нечего сказать пропустите ход пожалуйста .Это к тому что неплохо бы предоставить testcase На языке SQL -- с командами и сообщениями об ошибках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:20 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
maverick2104, как вариант наложены полики, и Вы записи не видете зы я б 1)пределился с одним ид на котором слетает и добивал все делаем в одной сессии 2) возможны неточности напр в Б удаляем по <, а в А по <= 3) так уже гоаорили, child record found в другой табличке (не Б) ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:25 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудровmaverick2104пропущено... Это вы к чему ? Если нечего сказать пропустите ход пожалуйста .Это к тому что неплохо бы предоставить testcase На языке SQL -- с командами и сообщениями об ошибках Таблица А с данными старше 90 дней Таблица Б ( данные удаленны ) Ошибка при удаление из родителя. FK Кстати , только заметил , если попробовать удалять данные по другому критерию ( не по time_created ) то все проходит нормально . Но мне нужно имеено это , так как запрос будет стоять в джобе . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:40 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
maverick2104FK Ты все показывай Если уж не можешь по-нормальному через dbms_metadata.get_ddl привести DDL обоих таблиц со всеми констрэйнтами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:43 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудровmaverick2104FK Ты все показывай Если уж не можешь по-нормальному через dbms_metadata.get_ddl привести DDL обоих таблиц со всеми констрэйнтами Дочка Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. Родитель Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:50 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
maverick2104старше 90 днейЕсли у тебя сейчас не полночь, то trunc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:54 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
Нихрена не понял -- а кто сказал, что TIME_CREATED для конкретного ID одинаков в обоих таблицах ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:55 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
Напиши запрос со связью этих таблиц, может и увидишь неудаленные дочки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 10:55 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
tru55, Вы удаляете по дате (старше), а констраинт не по дате CONSTRAINT "FK5C0AFAD3C7EC047" FOREIGN KEY ("ZIPPED_FILE_ID") REFERENCES "ELECTRON_EXTR"."ZIPPED_STATEMENTS" ("ID") ENABLE, CONSTRAINT "FK5C0AFAD376E400A2" FOREIGN KEY ("EMAIL_SENT_ID") REFERENCES "ELECTRON_EXTR"."EMAIL_STATUS" ("ID") ENABLE оно и правильно слетает (могло случайно не слетать) проверить select id from A a where dat<sysdate-90 and exists (select 1 from B b where b.dat<sysdate-90 and b.id=a.id) ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 11:07 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровНихрена не понял -- а кто сказал, что TIME_CREATED для конкретного ID одинаков в обоих таблицах ? Никто и не говорил , написал запрос : Разница во времени есть . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 11:15 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
Staxtru55, проверить select id from A a where dat<sysdate-90 and exists (select 1 from B b where b.dat<sysdate-90 and b.id=a.id) ..... stax Проверил , вывод NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 11:20 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
maverick2104Проверил , вывод NULL не верю Вы удаляете по условию sysdate-90, ето разные условия для таблиц А и Б удаляйте to_date(xxxx,'pppp')-90 (или trunc(sysdate)-90), но ето всеравно імхо неправильно, id и даты могут быть не синхронизованы в "монопольном" режиме я б 1) insert into tmp select id from а where dat<trunc(sysdate)-90 (или bulk в массив) 2) delete b where id in (select id from tmp) --опасно можно удалить лишнее, но ... 3) delete a where id in (select id from tmp) смотреть, мож у Вас есть несколько ид в Б с разными датами разнесеныыми боле 90дней ps CASCADE тем и удобен чтоб избежать child record found . ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 11:46 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
Т.е. голова так и не включается? Бывает, че ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 11:51 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
maverick2104Разница во времени есть . и Вы удивляетесь child record found, Вы ж удаляете записи с разными ИД (фк-пк) ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 11:56 |
|
||
|
Child record found
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровТ.е. голова так и не включается? Бывает, че Я думал разрывы time_create между ид дочкой и родителя не велики (1-2 секунды ) , а они оказываются в некоторых случаях достигают и 1-2 мясяца ...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 12:52 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39664052&tid=1883818]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
157ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
2ms |
| others: | 221ms |
| total: | 513ms |

| 0 / 0 |
