|
|
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
Есть оракловая таблица с 24 столбцами, в которые необходимо занести данные за два года помесячно. Строк примерно 20 тыс. В FoxPro делалось просто: два цикла, по годам и месяцам, и заполнялось поле pole&gg$mm. Типа такого Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Как такое реализовать на PL/SQL? Сколько искал, ничего не нашел... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 13:54 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
Валерканеобходимо занести данныеinsert ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 13:57 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
Валерка, В pl/sql также можно использовать вложенные for-циклы. Команда обновления записи в таблице - update. PL/SQL Language Reference . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 14:15 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
Я наверно непонятно написал... Вопрос не по синтаксису insert или update, там все понятно и хелпов полно. Вопрос в том как избежать 24х повторений одного и того же а заполнить pole&gg&mm в цикле. То есть вместо Код: plsql 1. 2. 3. 4. 5. 6. 7. использовать цикл?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 14:23 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
ВалеркаЯ наверно непонятно написал... Вопрос не по синтаксису insert или update, там все понятно и хелпов полно. Вопрос в том как избежать 24х повторений одного и того же а заполнить pole&gg&mm в цикле. То есть вместо Код: plsql 1. 2. 3. 4. 5. 6. 7. использовать цикл??Тебе следует отключать свое фокспрошное мышление. Зачем использовать цикл если без него можно обойтись? Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 14:36 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
Если нужно разложить по 12 полочкам то что положено в одну стопку, то можно например так: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 14:52 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
Валеркаиспользовать цикл??ключевой вопрос не что использовать, а как хранятся исходные данные и зачем их куда-то перекладывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 15:27 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#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. .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 15:28 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
-2-, Да не перекладывать ему надо, а обновить. repl в foxpro - это то же, что update в oracle. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 15:29 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
20тыщ абонентов. по каждому из них нужно в таблицу закинуть расход помесячный. cross join тут не поможет. Pivot тоже не поможет, А вот stax.. execute immediate 'update t set pole'||substr(gg,-2)||'$'||to_char(mm,'fm00')||'=:f where id=1' using v_f; то что доктор прописал!!!! Спасибо огромнейшее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 16:08 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
Валерка, Доктор, видимо, про merge не слышал. Но на твоих объемах пофиг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 16:11 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, merge штука хорошая. Но мне кажется конкретно в моей ситуацией она врядли поможет. Хотя покопаюсь, может я не прав.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 16:18 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
Валеркамне кажется аргумент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 16:25 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
ВалерончикВалеркамне кажется аргумент. merge использовал всего пару раз за 6 лет работы, поэтому и "кажется" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 16:29 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
Валеркаmerge использовал всего пару раз за 6 лет работы, поэтому и "кажется" А, ну тогда да. Извини. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 16:32 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
ВалеркаВалерончикпропущено... аргумент. merge использовал всего пару раз за 6 лет работы, поэтому и "кажется" А когда кажется, то креститься надо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 08:31 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
Валеркато что доктор прописал!!!! Спасибо огромнейшее я привел как пример, мож так и не надо делать я б вычислил 24значения (в переменные, или в массив не столь важно) и менял данные одним update t set p01=v1,p02=v2 ... p24=v24 where ... ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 08:33 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
Стас, А чего не пивотом, раз ограниченное множество столбцов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 09:34 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
envСтас, А чего не пивотом, раз ограниченное множество столбцов? не умею я update пивотом .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 10:19 |
|
||
|
Заполнение данных за два года помесячно
|
|||
|---|---|---|---|
|
#18+
stax..я б вычислил 24значения (в переменные, или в массив не столь важно) и менял данные одним update t set p01=v1,p02=v2 ... p24=v24 where ... Это первое, что пришло в голову. Но как-то не красиво, нудно... Сегодня с execute immediate всё сделал буквально минут за 15 минут. Так что еще раз спасибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 12:37 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39471886&tid=1885755]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
157ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 410ms |

| 0 / 0 |
