|
|
|
where field in (:var) bind
|
|||
|---|---|---|---|
|
#18+
Может я конечно ерунду спрашиваю Как правильно забаиндить список в переменную например есть запрос Код: plsql 1. нужно чтоб через Код: plsql 1. работало Пытаюсь провернуть сие через oci_bind_array_by_name но что то пока не получается Кто-нибудь что-нибудь похожее делал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2012, 16:18:09 |
|
||
|
where field in (:var) bind
|
|||
|---|---|---|---|
|
#18+
Max ZemaN, Я так понимаю вам к ораклистам надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2012, 16:50:01 |
|
||
|
where field in (:var) bind
|
|||
|---|---|---|---|
|
#18+
Max ZemaN, Напрямую - никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2012, 16:51:30 |
|
||
|
where field in (:var) bind
|
|||
|---|---|---|---|
|
#18+
Max ZemaNМожет я конечно ерунду спрашиваю Как правильно забаиндить список в переменную например есть запрос Код: plsql 1. нужно чтоб через Код: plsql 1. работало Пытаюсь провернуть сие через oci_bind_array_by_name но что то пока не получается Кто-нибудь что-нибудь похожее делал? Как нассчет PDO ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 04:47:47 |
|
||
|
where field in (:var) bind
|
|||
|---|---|---|---|
|
#18+
Bednii_Student, Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 04:50:34 |
|
||
|
where field in (:var) bind
|
|||
|---|---|---|---|
|
#18+
Проблема в том что заранее не известно кол-во элементов в списке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 07:06:42 |
|
||
|
where field in (:var) bind
|
|||
|---|---|---|---|
|
#18+
Судя по плану выполнения запросов с where in список в скобках заменяется самим ораклом на соответствующее логическое выражение Но я нашел как это обойти select * from table field in (select :list from dual) в данном случае из select :list from dual строится представление или временная таблица Это как раз то что нужно, проблема в самом подзапросе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 07:20:48 |
|
||
|
where field in (:var) bind
|
|||
|---|---|---|---|
|
#18+
Не делайте так. Подзапрос бдует выполняться столько раз, сколько записей в таблице table ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 08:12:29 |
|
||
|
where field in (:var) bind
|
|||
|---|---|---|---|
|
#18+
Hett, Не критично все данные в памяти и не миллион же записей проблема в том что не выполняется ничего oci_execute(): ORA-01484: arrays can only be bound to PL/SQL statements Не уже никак нельзя запросы типа "select * from table where field in (...." через bind прогнать ??? Сейчас тупо прогоняю массив через join и вставляю результат в тело запроса Это совсем не есть хорошо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 08:24:44 |
|
||
|
where field in (:var) bind
|
|||
|---|---|---|---|
|
#18+
То есть создание временно таблице, наполнение ее данными и потом использование их разово (?) в запросе, по вашему, куда лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 08:37:04 |
|
||
|
where field in (:var) bind
|
|||
|---|---|---|---|
|
#18+
HettПодзапрос бдует выполняться столько раз, сколько записей в таблице tableПочему? Это же Оракл, а не MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 10:41:52 |
|
||
|
where field in (:var) bind
|
|||
|---|---|---|---|
|
#18+
Max ZemaN, А зачем вам вообще биндить список с произвольным числом значений? Чем простая конкатенация не устраивает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 10:43:30 |
|
||
|
where field in (:var) bind
|
|||
|---|---|---|---|
|
#18+
miksoft, В интернете народ ушлый Список проверять надо на отсутствие всяких бяк Зарегистрируется какой-нибудь ");truncate table very_important_data; В данном случае проверить не сложно но 100% гарантии уже нет Через bind оно как-то надежнее Вообще основная причина это то что для таких запросов приходится "нестандартный" код писать картина такая [CONF] Код: php 1. 2. 3. и так еще десятка два запросов подготавливается привязывается и выполняется запрос одной строчкой Код: php 1. 2. 3. 4. 5. 6. И тут запрос с where in который в эту процедурку "не лезет" Нашел уже выход из положения Код: php 1. но вот если бы через bind получилось то вообще б здорово было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 13:53:24 |
|
||
|
|

start [/forum/topic.php?fid=23&fpage=132&tid=1464596]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
91ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 429ms |

| 0 / 0 |
