|
Dynamic SQL
|
|||
---|---|---|---|
#18+
Подскажите пожалуйста, что не так делаю Задача, используя динамический sql, написать функцию, которая бы возвращала кол-во строк по двум параметрам. первый параметр -- название столбца, второй -- его значение. Например хочу подсчитать сколько всего строк с manager_id=100. Пишу: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
в итоге получаю: Код: plsql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 21:29 |
|
Dynamic SQL
|
|||
---|---|---|---|
#18+
Вы не можете использовать bind-variable для указания идентификатора атрибута, тут придется использовать конкатенацию или replace, например: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 21:47 |
|
Dynamic SQL
|
|||
---|---|---|---|
#18+
andrey_anonymous, спасибо, с конкатенацией тоже получилось. а почему с Код: plsql 1.
можно использовать bind-variable, а с Код: plsql 1.
нет? и еще такой вопрос, как быть с апострофами, если вместо Код: plsql 1.
например надо подсчитать Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 22:21 |
|
Dynamic SQL
|
|||
---|---|---|---|
#18+
по второму вопросу разобрался сам Код: plsql 1.
а вот почему bind-variable не всегда можно использовать, вопрос остается открытым ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 22:45 |
|
Dynamic SQL
|
|||
---|---|---|---|
#18+
Georggпа вот почему bind-variable не всегда можно использовать, вопрос остается открытымsql reference ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2019, 22:56 |
|
Dynamic SQL
|
|||
---|---|---|---|
#18+
-2-Georggпа вот почему bind-variable не всегда можно использовать, вопрос остается открытымsql referenceНет там ничего про это. К сожалению, явное упоминание осталось только в древней документации: RTFM https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/dynamic.htm#sthref1594] PL/SQL User's Guide and Reference: Passing Schema Object Names As Parameters (FAQ) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2019, 08:24 |
|
Dynamic SQL
|
|||
---|---|---|---|
#18+
Georgg, імхо бинд и "придумали/используют" что-б меньше было '=' || q'(')' || val || q'(')'; ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2019, 08:41 |
|
Dynamic SQL
|
|||
---|---|---|---|
#18+
ElicНет там ничего про это."Ничего" слишком категоричное заявление. Если синтаксисом что-то не заявлено, это уже "что-то". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2019, 09:06 |
|
Dynamic SQL
|
|||
---|---|---|---|
#18+
-2-ElicНет там ничего про это."Ничего" слишком категоричное заявление. Если синтаксисом что-то не заявлено, это уже "что-то".Ткни в конкретику. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2019, 09:11 |
|
Dynamic SQL
|
|||
---|---|---|---|
#18+
а как ораклу строить план по такому запросу? если поле будет как bind, вы еще имя таблицы попробуйте через bind передать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2019, 09:41 |
|
Dynamic SQL
|
|||
---|---|---|---|
#18+
alex-lsа как ораклу строить план по такому запросу? если поле будет как bind, вы еще имя таблицы попробуйте через bind передать :) подсмотреть (пікнуть) значение для id:=:1 научился ж подглядывать ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2019, 09:48 |
|
Dynamic SQL
|
|||
---|---|---|---|
#18+
ElicТкни в конкретику.Синтаксические фантазии должны быть однозначно поняты автоматом. Как отличить бинд-значение от бинда-подстановки? Например, для xmlelement, где изначально имя тега зачем-то определяется через sql-имя, позже догадались добавить конструкцию evalname. SQL reference дает определение placeholder expression. Синтаксиса для интерпретации значения выражения (и бинда, в частности) в качестве имени объекта БД не предусмотрено. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2019, 09:49 |
|
Dynamic SQL
|
|||
---|---|---|---|
#18+
Georggпо второму вопросу разобрался сам Публикуя предыдущий пост я рассчитывал, что Вы обратите внимание на применение bind variables там, где это уместно - конкатенация фактических значений параметров не только неудобна, временами привносит ненужные nls-зависимости, но при частом вызове вымывает кэш курсоров. По тем же причинам не следует проводить импорт заметных объемов данных посредством скрипта с insert values ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2019, 14:15 |
|
|
start [/forum/topic.php?fid=52&msg=39812770&tid=1882500]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 306ms |
total: | 452ms |
0 / 0 |