|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Всем привет! Хотел по-быстрому собрать статистику по количеству строк в таблицах некоей схемы. Однако внезапно задачка оказалось сложной и трудозатратной... Мозг сломал уже, пытаясь победить её! Чувствую, что истина где-то рядом, а найти не могу :(. Вот исходный код: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Если закомментировать Код: plsql 1.
, то Код: plsql 1.
генерирует абсолютно идеальные запросы вида Код: plsql 1.
. Каждый запрос по отдельности возвращает одну строку с числовым результатом (количество строк в таблице). Но когда выполняю этот анонимный PL/SQL блок, то все время выходит ошибка PLS-00382. Подозреваю что это связано с тем, что запрос возвращает не число, а рекордсет из одной строки с одним столбцом, содержащим число. Но как число из этого рекордсета поместить в myTableRows так, чтобы не возникала эта чертова PLS-00382! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:26 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
GrayMagellanабсолютно идеальные запросы вида Код: plsql 1.
Изучи SQL Reference на предмет "идеальных" знаков препинания. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:34 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Ты внатуре думаешь, что все навскидку помнят как звучит текст ошибки PLS-00382? Беглым взглядом -- ';' добавлять не надо ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:35 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
А что не так? Запрос работает: ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:37 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровТы внатуре думаешь, что все навскидку помнят как звучит текст ошибки PLS-00382? PLS-00382: выражение неправильного типа ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:38 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Вячеслав Любомудров...';' добавлять не надо Пробовал и без неё - не работает. По идее да, не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:40 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
GrayMagellanне работаетПолный стек ошибок. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:44 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Elicзнаков препинания. А что не так со знаками препинания? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:44 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Elic, Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:45 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Убрал добавление двоеточия в stmt=..., но не помогает. Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:48 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Запрос вместо числа возвращает рекордсет из одной строки и одного столбца, который я пытаюсь запихнуть в переменную целочисленного типа? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:49 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
GrayMagellan Код: plsql 1.
У тебя мозг есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:50 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Только спинной. Поэтому к гуру и обращаюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:51 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Под каким юзером пускаешь? Попробуй заменить описание myTable varchar2(30); ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:51 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Вячеслав Любомудров, под sys. я на эту тему не парюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:52 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
GrayMagellan Код: plsql 1.
Планиметрию в школе не проходил? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:53 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровПопробуй заменить описание myTable varchar2(30); Попробовал - не помогает, ошибка та же, в том же месте. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:53 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
ElicGrayMagellan Код: plsql 1.
Планиметрию в школе не проходил? Проходил. Указывает вот сюда: ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:56 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Elic, можете сказать где мой косяк? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:56 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
GrayMagellanУказывает вот сюда:ElicУ тебя мозг есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:57 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Elic, и? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:57 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Хм.., я не вижу Но режет глаз использование N VARCHAR2 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:58 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
GrayMagellanможете сказать где мой косяк?Тебе компилятор даже русским языком всё сказал и показал. Совсем тупой? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:58 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Elic, да. спасите-помогите пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 15:58 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
GrayMagellanда. спасите-помогите пожалуйста.GrayMagellan Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 16:00 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Elic, да, гуглил... результаты неоднозначны. поэтому и решил спросить у уважаемого сообщества. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 16:01 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
GrayMagellanда, гуглил...Не нужно было. В отсутствие мозгов не поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 16:03 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Да, не думал https://docs.oracle.com/cd/E11882_01/appdev.112/e25519/executeimmediate_statement.htm#LNPLS01317 Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 16:03 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Что за национализм? 8-D ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 16:05 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровДа, не думал https://docs.oracle.com/cd/E11882_01/appdev.112/e25519/executeimmediate_statement.htm#LNPLS01317 Код: plaintext 1. 2.
Вячеслав, спасибо большое за помощь! Исправил Код: plsql 1.
на Код: plsql 1.
, и все заработало! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 16:09 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
GrayMagellan stmt N VARCHAR2(200); ... myOwner N VARCHAR2(200) := 'SOME_SCHEMA_NAME'; ... Какие ты слова знаешь.... Но: Во многих знаниях, много печали. Преумножая знания, преумножаем скорьб ( C ) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 16:11 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
ElicВячеслав ЛюбомудровЧто за национализм? 8-D Ты слишком серьезен, будь проще, хотя бы в конце недели ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 16:11 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
пока писал, уже разобрались ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 16:11 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Вообще-то это уже тонкости, нет? "2.1.1.1.3 VARCHAR2 Data Type The VARCHAR2 data type specifies a variable-length character string in the database character set. You specify the database character set when you create your database." "2.1.1.1.5 NVARCHAR2 Data Type The NVARCHAR2 data type specifies a variable-length character string in the national character set. You specify the national character set as either AL16UTF16 or UTF8 when you create your database. AL16UTF16 and UTF8 are two encoding forms of the Unicode character set (UTF-16 and CESU-8, correspondingly) and hence NVARCHAR2 is a Unicode-only data type." ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 16:15 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
В любом случае огромное спасибо всем, кто откликнулся! И тем, кто помогал, и тем, кто чморил :)... Ибо "тяжело в учении - легко в бою" (С) А. Суворов. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 16:17 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Хоспаде, да хтож тебя "чморил"? Призывали подумать -- это было Далее, в случае сомнений, проконсультироваться с первоисточником... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 16:20 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Да я ни на кого не сержусь :). Все отлично! Ещё раз спасибо всем :). И Элику - тоже. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 16:22 |
|
EXECUTE IMMEDIATE и PLS-00382
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровТы слишком серьезен, будь проще, хотя бы в конце недели Нужно уметь читать и понимать ошибки компилятора. И тебе тоже :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 17:23 |
|
|
start [/forum/topic.php?all=1&fid=52&tid=1882616]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 164ms |
0 / 0 |