- Код: Выделить всё
SELECT ID,NAME FROM TDOCUMENTATIONS WHERE XX_ID IN (:parray);
Модератор: Модераторы
SELECT ID,NAME FROM TDOCUMENTATIONS WHERE XX_ID IN (:parray);
Sharfik писал(а):Параметр через штатные функции в скрипт SQL эта шляпа вставляется в кавычках.
Снег Север писал(а):в MYSQL еть конструкции в которые прекрасно подставляются наборы значений, надо только каждое из них заключать в свои кавычки, обычно - двойные.
Снег Север писал(а):https://www.educba.com/mysql-where-in-array/
Vapaamies писал(а):И где там кавычки, тем более двойные?
Снег Север писал(а):е знаю как там в абстрактном sql, а в MYSQL еть конструкции
<in predicate > :: = < value expression > [NOT] IN {< subquery > | (<in value list>) }
<in value list> :: = < value specif ication>{,< value specif ication>}...
<in predicate > :: = < value expression > [NOT] IN {< subquery > | <value list> }
<value list> :: = ( < value specif ication>{,< value specif ication>}... )
Снег Север писал(а):Очки наденьте. Да, там в примере одинарные кавычки, но из делфи/лазаруса обычно применяют двойные.
sts писал(а):это обычный in, речь же про то как передать для него набор значений в виде одного параметра
sts писал(а):(f1, f2, f3) = (:p0,:p1,:p2)
(f1, f2, f3) = :p0_2
т.е. появились бы кортежи что резко бы упростило работу с составными ключами
declare my_tuple = ();
insert into my_tuple values (:p); -- повторяем сколько надо раз
select * from my_table where my_field in my_tuple;
Vapaamies писал(а):Так что, возможно, потребность в использовании IN с параметрами — признак плохой архитектуры.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3