Список значений во вход. параметре хр. процедуры

Модераторы: kdv, CyberMax

Ответить
samalex
Сообщения: 4
Зарегистрирован: 10 апр 2008, 09:22

Список значений во вход. параметре хр. процедуры

Сообщение samalex » 01 июл 2010, 12:23

Уважаемые знатоки!!! Работаю в Firebird 2.1.
Хочу передать в хр. процедуру строковый параметр (типа "1, 2, 3") для использования его в конструкции "in (...)".
Вот скрипт для создания ХП.

Код: Выделить всё

create or alter procedure SP_2 (
    ID_TYPE_WORK_SET varchar(10))
returns (
    ID_PREPARATION_TECH_DOC integer,
    ID_TYPE_WORK integer)
as
begin
  for select
    dp.id_preparation_tech_doc,
    dp.id_type_work
  from data_preparation_tech_doc dp
  where
    dp.id_type_work in (:ID_TYPE_WORK_SET)
  into
    :id_preparation_tech_doc,
    :id_type_work
  do
    suspend;
Хочу выбрать набор данных в соответствии с перечисленными через запятую значениями типа "int".
Но что-то не выходит. Не воспринимает Firebird мой параметр.
Кто мне подскажет, что не так?
Заранее благодарен.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Список значений во вход. параметре хр. процедуры

Сообщение kdv » 01 июл 2010, 12:54

Но что-то не выходит. Не воспринимает Firebird мой параметр.
потому что фигню пишете, с любой логической точки зрения. :) где Вы видели, чтобы параметр принимал СПИСОК значений, да еще знал, какого они внутри типа, и какой Вы используете разделитель?

www.ibase.ru/ibfaq.htm#inparam
на sql.ru был еще один пример, найдем.

samalex
Сообщения: 4
Зарегистрирован: 10 апр 2008, 09:22

Re: Список значений во вход. параметре хр. процедуры

Сообщение samalex » 01 июл 2010, 13:04

http://www.ibase.ru/ibfaq.htm#inparam
на sql.ru был еще один пример, найдем.[/quote]

Офигенно. Заработало!!!
Большое спасибо!!!
Пользователь фильтр по нескольким значениям заказал. Я уже думал в программе динамически SQL формировать.
Но все и в хр. процедуре решилось.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Список значений во вход. параметре хр. процедуры

Сообщение kdv » 01 июл 2010, 17:35

вот еще пример
http://www.sql.ru/forum/actualthread.as ... re#6339918
но немного другое. Впрочем, алгоритм можно перекроить под собственные нужды. Если на входе блоб не нужен, можно поменять на строку.

Ответить