|
|
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Ребят есть такой запрос INSERT WHEN (u_name='Петя') THEN INTO table1 (name) VALUES (u_name) ELSE INTO table2 (name) VALUES (u_name ) SELECT u_name FROM table3; Как посчтитать кол-во вставленных строк по каждой таблице ?. SQL%ROWCOUNT не подходит так как он подсчитает все вставленные строки по двум таблицам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 13:01 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Евгения Зайцева Код: plsql 1. Как посчтитать кол-во вставленных строк по каждой таблице ?Попробуй Код: plsql 1. Но проще не создавать себе таких сложностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 13:26 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
returning count(*) не совсем подходит тоже так как в таблице уже могут быть данные . Я ж так поняла мне вернеться тогда все строчки которые есть в таблице. INSERT WHEN Очень хорошо подходит для решения моей задачи просто =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 13:47 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Евгения ЗайцеваЯ ж так поняла мне вернеться тогда все строчки которые есть в таблице.Твоё "понимание" необосновано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 13:54 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Евгения ЗайцеваОчень хорошо подходит для решения моей задачи просто 20165163 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 13:57 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Сагу прочитала =) Я что не правильно поняла как действует return count(*) . Он мне посчитает все строчки которые на данный момент в таблицу было вставлено. По поводу саги у меня очень большой инсерт около 100 млн строк и + строчки могут строчки быть невалидные . Потому и идет вставка в 2 таблицы . В цикле на pl/sql крутить долго. Двумя инсертами тоже долго так как я буду дергать 2 практически одинаковых селекта . Один insert when работает гораздо быстрее и экономит время загрузки. Потому я и спрашивала возможно ли выйти малой кровью юзая эту конструкцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 14:20 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Евгения ЗайцеваЯ что не правильно поняла как действует return count(*)Да, неправильно. Но в данной форме insert-а это неважно, так как returning не поддерживается. Пардон за дезу. Евгения Зайцеваочень большой инсерт около 100 млн строк и + строчки могут строчки быть невалидныеRTFM log errors ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 14:29 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
RTFM log errors -- это к чему ? Если трассировку дать ? То к сожалению не могу ... запрещено политикой компании =(((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 14:36 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Очень интересно спасибо все прочитала. Не знала что есть такое. Но я как поняла в ней нельзя задавать кастомные проверки строк. например когда надо чтобы id начиналось только на 0000 в любом другом случае это все должно уходить в таблицу ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 15:14 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Евгения ЗайцеваНо я как понялаТы ещё не поняла, что тебе вредно понимать? Евгения Зайцеванельзя задавать кастомные проверки строк.Добавь столбик is_error с check-ом и заполняй его результатом сколь угодно сложной проверки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 15:50 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Мы наверно не понимаем друг друга. Наверно я. Но мне надо просто узнать сколько строчек было вставлено в основную таблицу и таблицу ошибок и все =) Таблица с ошибками уже реализована и принята. И вопрос был в том что можно ли используя такую контрукцию подсчитать вставленные строчки отдельно по каждой таблице . Если нет . То зачем мне нужна еще таблица ошибок. WHEN (u_name='Петя') THEN INTO table1 (name) VALUES (u_name) ELSE INTO table2 (name) VALUES (u_name ) SELECT u_name FROM table3;[/SRC] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 16:02 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Евгения Зайцева, Ну сделaй SELECT COUNT(*) FROM TABLE1; до и после. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 16:06 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
SYЕвгения Зайцева, Ну сделaй SELECT COUNT(*) FROM TABLE1; до и после. SY. Как вариант . Подсчитать до потом посчитать после и после - до . Получу вставленные . Но я думала есть в оракле более гуманное решение =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 16:17 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Можно через MV LOG: Код: plsql 1. 2. Выполнение: Код: 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. Естественно и COUNT до/после и MV LOG не сработают если другие сессии встaвляют/удаляют строки TABLE1. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 16:28 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Евгения ЗайцеваТаблица с ошибками уже реализована и принята.Точно XYZ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 16:29 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Евгения ЗайцевагуманноеSYМожно через MV LOG:Евгения Зайцева100 млн строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 16:31 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Евгения ЗайцеваКак посчтитать кол-во вставленных строк по каждой таблице ?. SQL%ROWCOUNT не подходит так как он подсчитает все вставленные строки по двум таблицам Обязательно ли делать вставку одним sql-предложением? Можно ли заменить этот вызов, к примеру, pl/sql-блоком? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 16:37 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousОбязательно ли делать вставку одним sql-предложением? Тогда TABLE3 будем читать дважды. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 16:43 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
SYandrey_anonymousОбязательно ли делать вставку одним sql-предложением? Тогда TABLE3 будем читать дважды. Зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 16:43 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousЕвгения ЗайцеваКак посчтитать кол-во вставленных строк по каждой таблице ?. SQL%ROWCOUNT не подходит так как он подсчитает все вставленные строки по двум таблицам Обязательно ли делать вставку одним sql-предложением? Можно ли заменить этот вызов, к примеру, pl/sql-блоком? Заменить можно но будет по скорости плохо будет . Так как прийдеться два раза выполнять по сути один и тот же долгоиграющий селект с различием в одном условии . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 16:44 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
SYТогда TABLE3 будем читать дважды. Упс, не понял. Ты предлагаешь FOR V_REC IN (SELECT * FROM TABLE3). SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 16:45 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Евгения ЗайцеваТак как прийдеться два раза выполнять по сути один и тот же долгоиграющий селект с различием в одном условии . ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 16:45 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
SYSYТогда TABLE3 будем читать дважды. Упс, не понял. Ты предлагаешь FOR V_REC IN (SELECT * FROM TABLE3). bulk limit, и дважды forall insert indices of ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 16:47 |
|
||
|
Подсчет вставленных строк.
|
|||
|---|---|---|---|
|
#18+
Код: 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2018, 17:36 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39751613&tid=1882998]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 527ms |

| 0 / 0 |
