|
|
|
| Привет!
В хранимой процедуре есть запрос, типа:
select count(*) INTO counter from words where word in (someWords);
|
Где someWords должен быть списком ключей, создаваемым динамически, например:
'word1', 'word2', 'word3', 'word4'
Если я подставляю такое значение в select, оно рассматривается, как я понимаю, как одна переменная типа varchar, и, соответственно, я получаю не то, что хотел.
Есть ли способ передать список параметров в такой запрос, т.е. в IN (...)?
Заранее благодарен и пр.. | |
|
|
|
|
|
|
|
для: zy19
(14.01.2009 в 22:20)
| | давно волнует этот вопрос, просто не было острой необходимости, я реализовал это в приложении, например собираю список ключей для конструкции in и программно в приложении через Query компонент выполняю нужные действия
выполнение транзакции также выполняется в приложении (start transaction, commit, rollback) с использованием свойств data компонентов
работаю в Delphi, доступ через MyDac
в сети нашёл ещё одно решение, например можно создать временную таблицу, заполнить её выбранными значениями ключей, а в процедуре в конструкцию IN подставить запрос выбирающий данные значения из временной таблицы, после чего удалить таблицу
>В хранимой процедуре есть запрос, типа:
>
>select count(*) INTO counter from words where word in (someWords);
|
это будет выглядеть так select count(*) INTO counter from words where word in (select words from temp_table)
ну как создать временную таблицу и наполнить её значениями надеюсь разберётесь :) | |
|
|
|