|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
Всем здоровья и удачи, други. Ищу помощи в следующем, заранее извиняюсь за грамматику, русский для меня язык дополнительный. Вводные: База: Oracle 12c Standard Edition 12.1.0.2.0-64bit Доступ к базе только ReadOnly и только через SQLPlus. В базе ничего нельзя создавать (ни функции, ни процедуры, ничего совсем вообще никем никогда и низачто) Задача: Выгрузить содержимое таблицы в текстовый фаил , попутно обьявив и применив самодельную функцию. Имеется следующий скрипт Код: plsql 1. 2. 3.
Хочется что-то типа: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Тут cказали, что ето невозможно. https://stackoverflow.com/questions/21856832/local-function-inside-pl-sql-script Но надежда ж умирает последней, поэтому я здесь и спрашиваю. Подскажите, пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 13:03 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 13:07 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
RascalBus, 1. Необходимость в функции не обоснована. 2. помимо with function есть dbms_output. 3. "только через SQLPlus" не обосновано. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 13:16 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
1. Вопрос о логике функции не праздный. Если просто конкатенация строк - то используйте штатный || и забудьте. Если что-то сложное (не так просто придумать сложную пользовательскую логику на RO-базе) - то, быть может, найдется альтернативное решение. 2. Вывод SQL*Plus ничто не мешает отправить в постобработку любым удобным/доступным методом. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 13:24 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
Спасибо, добрый человек Вячеслав Любомудров. Это похоже то, что мне нужно. Однако, скопировав и запустив код получаю ошибку. Код: plsql 1. 2. 3. 4. 5.
Подскажите, что я нетак делаю, пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 21:53 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
Версия SQL*Developer? Версия базы? SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 22:23 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
SY, Oracle Database Express Edition (XE) Release 18.4.0.0.0 (18c) SQL Developer 18.4 Version 18.4.0-376.1900 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 00:13 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
RascalBus, 18C не имею. На моем SQL*Developer 4.1.4.21 и базе 12.1.0.2.0 EE полет нормальный. А ORA-00905 говорит о том что версия базы не поддерживает WITH FUNCTION. Код: 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.
Так-что ты либо конектишься не туда либо WITH FUNCTION в XE не поддерживается (c XE не работаю и посему не знаю что там обрeзано). SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 01:14 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
SYТак-что ты либо либо в функции ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 01:50 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
RascalBusOracle Database Express Edition В девелоперской базе и ReadOnly — это довольно странно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 10:21 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
Alibek B., про read only указана se ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 11:08 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
Не смогли мы с коллегами решить ету задачу. Пойдем в в кофейню есть пирожки без мяса и думать о делах наших скорбных. Всем спасибо за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 14:06 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
RascalBusНе смогли мы с коллегами решить ету задачу. Пойдем в в кофейню есть пирожки без мяса и думать о делах наших скорбных. Всем спасибо за помощь. action plan: 1) Встать с дивана 2) надеть штаны Пардон, чуток не так... 1) Запустить sqlplus 2) Научится копировать текст с консольного окна cmd.exe 3) скопировать полученный вывод в буфер обмена системы Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
4) показать что получилось используя тэги форума SRC ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 15:15 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
Vadim Lejnin, Это результат на локально установленном Оракле. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 16:48 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 16:52 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
RascalBus, И Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production не наводит ни на какие мысли? SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 17:06 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
Это результат на сервере Оракл , это тот который ReadOnly и откуда надо данные экстрактить в текстовый файл с функцией. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 18:25 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
SY, Без Вашей подсказки мысли отсутствовали. А с подсказкой догадываюсь, что WITH появился лишь в следующей (12ой) версии. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 18:29 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
RascalBusЭто результат на сервере ОраклТолько теперь снова вопрос про клиента. Вот зачем тебе plsql-функция для выкусывания подстроки. Выражение, даже на инстр-субстр, короче, чем декларация функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 18:30 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
rf_mail, Ааааа, понял. Спасибо. Сервер 12й , а скулплюс 11. И менять ничего нельзя, ибо с подрядчиком cпецифические отношения. Ой беда-печаль. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 18:34 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
RascalBus, сработает в любой версии sqlplus Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 18:44 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
-2-, Функция будет сложна и многогранна. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 18:51 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
Спасибо, добрый человек Vadim Lejnin. Сейчас попробую отпишусь. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 18:53 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
RascalBusСервер 12й , а скулплюс 11. И менять ничего нельзя, ибо с подрядчиком cпецифические отношения. Ой беда-печаль.Ещё не конец. DSQL в зубы … ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 18:54 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
RascalBusrf_mail, Ааааа, понял. Спасибо. Сервер 12й , а скулплюс 11. И менять ничего нельзя, ибо с подрядчиком cпецифические отношения. Ой беда-печаль. :( 12-й с флешки запустите .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 19:00 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
RascalBusСервер 12й , а скулплюс 11.Ой беда-печаль. :( Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 19:12 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
StaxRascalBusrf_mail, Ааааа, понял. Спасибо. Сервер 12й , а скулплюс 11. И менять ничего нельзя, ибо с подрядчиком cпецифические отношения. Ой беда-печаль. :( 12-й с флешки запустите .... stax Нельзя флешку. Вообще ничего нельзя, кроме ReadOnly SQLPlus. Потому и мучаемся. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 19:22 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
RascalBusПотому и мучаемся. Уперлись в "функцию" - вот и мучаетесь. 99% уверен, что Вашу задачу можно решить в пределах SQL или продрав результирующий файл че-нибудь типа AWK. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 19:25 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
andrey_anonymous Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Фигассе хакинг! Спасибо! Сейчас попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 19:28 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
RascalBusSY, Без Вашей подсказки мысли отсутствовали. А с подсказкой догадываюсь, что WITH появился лишь в следующей (12ой) версии. собственно, по теме уже всё сказано andrey_anonymous .. просто позанудствую .. - WITH в операторе select ораклового диалекта sql-языка появился ишшо в ( 9ой) версии - поддержка with в select всякими гуями появилась несколько позже (в зависимости от конкретного гуя), (но тоже уже давно ) - поддержка декларации функций в WITH внутри select появилась еще позже - считайте относительно ~недавно таки в 12ой вывод - не пользуйтесь устаревшими версиями чего-либо ожидая поддержки всего-самого .. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 19:46 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
orawishRascalBusSY, Без Вашей подсказки мысли отсутствовали. А с подсказкой догадываюсь, что WITH появился лишь в следующей (12ой) версии. собственно, по теме уже всё сказано andrey_anonymous .. просто позанудствую .. - WITH в операторе select ораклового диалекта sql-языка появился ишшо в ( 9ой) версии - поддержка with в select всякими гуями появилась несколько позже (в зависимости от конкретного гуя), (но тоже уже давно ) - поддержка декларации функций в WITH внутри select появилась еще позже - считайте относительно ~недавно таки в 12ой вывод - не пользуйтесь устаревшими версиями чего-либо ожидая поддержки всего-самого .. Наше руководство тоже так сказало. И озадачило заапрейдится с Оракла до СКЛСервера от Майкрософта. А подрядчик обиделся. Поэтому и наслаждаемся мучениями. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 20:30 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
Vadim LejninRascalBus, сработает в любой версии sqlplus Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Всё заработало. Спасибо большое! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 20:49 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
RascalBusandrey_anonymous Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Фигассе хакинг! Спасибо! Сейчас попробую. Магическое колдунство! Спасибо за идею. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 20:53 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
RascalBusorawishвывод - не пользуйтесь устаревшими версиями чего-либо ожидая поддержки всего-самого .. Наше руководство тоже так сказало. И озадачило заапрейдится с Оракла до СКЛСервера от Майкрософта. Забавное руководство. Вместо апгрейда до современной (поддерживаемой) версии уже приобретенного продукта ввалить бабла в новые лицензии и миграцию. Ну-ну... RascalBusВсё заработало. ...буфер dbms_output совсем не бездонный однако. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 21:02 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
andrey_anonymousRascalBusпропущено... Наше руководство тоже так сказало. И озадачило заапрейдится с Оракла до СКЛСервера от Майкрософта. Забавное руководство. Вместо апгрейда до современной (поддерживаемой) версии уже приобретенного продукта ввалить бабла в новые лицензии и миграцию. Ну-ну... RascalBusВсё заработало. ...буфер dbms_output совсем не бездонный однако. Все вокруг агрейдятся с Оракла до СКЛ Сервера on site или в Azure, вот и они решили не отставать. Да и по деньгам дешевле. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 21:25 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
RascalBusВсе вокруг агрейдятся с Оракла до СКЛ Сервера on site или в Azure "Миллионы леммингов не могут ошибаться" (с) RascalBusвот и они решили не отставать. [spoiler] ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 00:21 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
andrey_anonymous...буфер dbms_output совсем не бездонный однако.И чем определяется его дно? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 07:36 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
Elicandrey_anonymous...буфер dbms_output совсем не бездонный однако.И чем определяется его дно? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 16:38 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
andrey_anonymous, большой респект! Задействовал в одном из запросов по статистике вызовов: Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 17:14 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
andrey_anonymous, в древних версиях так было, теперь по умолчанию unlimited Код: plsql 1. 2.
.... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 17:16 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
Staxв древних версиях так было, теперь по умолчанию unlimited Вообще я цитировал текст из пакета с 12.1. Впрочем, спасибо - теперь буду знать еще один способ заспамить серверную память :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 17:23 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
andrey_anonymousStaxв древних версиях так было, теперь по умолчанию unlimited Вообще я цитировал текст из пакета с 12.1. Впрочем, спасибо - теперь буду знать еще один способ заспамить серверную память :) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
мож коментарий не поправили, но всеравно странно в пакете default 20000, а по умолчанию unlimited Код: plsql 1.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 17:46 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
Staxмож коментарий не поправили, но всеравно странно в пакете default 20000, а по умолчанию unlimitedУмолчание unlimited это у sqlplusа. При этом в enable передается NULL. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 18:07 |
|
Обявить функцию внутри SQLPlus скрипта.
|
|||
---|---|---|---|
#18+
andrey_anonymousElicпропущено... И чем определяется его дно? Код: plsql 1. 2.
Иногда вредно читать только коменты в исходниках. set serverout on size unlimited появилось в бородатом 10g. Странно не запомнить такого. Код: plsql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2019, 07:55 |
|
|
start [/forum/topic.php?all=1&fid=52&tid=1882911]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 164ms |
0 / 0 |