Код: Выделить всё
SELECT ID,NAME FROM TDOCUMENTATIONS WHERE XX_ID IN (:parray);Модератор: Модераторы
Код: Выделить всё
SELECT ID,NAME FROM TDOCUMENTATIONS WHERE XX_ID IN (:parray);Если .asString и .Text обрамляют присвоенное им значение кавычками, то, может быть, стоит вообще не использовать здесь параметр.Sharfik писал(а):Параметр через штатные функции в скрипт SQL эта шляпа вставляется в кавычках.
https://www.educba.com/mysql-where-in-array/Vapaamies писал(а): Пруфы?
Очки наденьте. Да, там в примере одинарные кавычки, но из делфи/лазаруса обычно применяют двойные.Vapaamies писал(а):И где там кавычки, тем более двойные?
это обычный in, речь же про то как передать для него набор значений в виде одного параметраСнег Север писал(а):е знаю как там в абстрактном 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;
Вот даже интересно, если взять "Товар" и "Заказ". И требуется получить все заказы в которых фигурирует id трех конкретных товаров. Какая такая "правильная" архитектура должна быть, чтобы эту просто решаемую задачу с IN реализовать? Наверно надо наплодить еще десяток мусорных таблиц и SQL запросы формировать клиентом, чтобы побольше дыр в безопасности сделать?Vapaamies писал(а):Так что, возможно, потребность в использовании IN с параметрами — признак плохой архитектуры.