Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Курсоры 
:(
    Опции темы
Aprol
Дата 11.9.2007, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 259
Регистрация: 15.6.2007

Репутация: нет
Всего: нет



Объясните пожалуйста, как с ними работать. Вот есть хр.процедура которая делает выборку. В Дельфи нужно тоже получить выборку через хр. процедуру, но не получается(нет ни одной записи). Мне посоветовали здесь использовать курсоры, к сожалению я так и не понял как сними работать.
Может кто описать на примере?
-----------------
Firebird, IBX
PM MAIL   Вверх
Akella
Дата 11.9.2007, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



читай про селективные процедуры

Добавлено через 1 минуту и 39 секунд
Код

CREATE PROCEDURE SP_FOUNDED (
    phones varchar(255))
returns (
    id integer,
    mediator_name varchar(50),
    rooms_q integer,
    area_g double precision,
    area_i double precision,
    area_k double precision,
    floor integer,
    floors integer,
    price double precision,
    house_num varchar(5),
    korp_num varchar(5),
    apart_num varchar(5),
    deleted varchar(1),
    id_type integer,
    id_region integer,
    id_street integer,
    phones_list varchar(1000))
as
begin

  for select distinct a.id, 'нет', a.rooms_q, a.area_g, a.floor, a.floors, a.price, a.house_num, a.korp_num,
  a.apart_num, a.deleted, a.id_type, a.id_region, a.id_street, a.phones_list, a.AREA_I, a.AREA_K from apart a, phones p
  where (',' || :phones || ',' containing ',' || p.tel || ',') and (p.id_apart = a.id)

  union all

  select distinct a.id, 'нет', a.rooms_q, null, a.floor, a.floors, a.price, a.house_num, a.korp_num, a.apart_num,
  a.deleted, a.id_type, a.id_region, a.id_street, a.phones_list, null, null from arenda a, phones p
  where (',' || :phones || ',' containing ',' || p.tel || ',') and (p.id_arenda = a.id)

  union all

  select distinct a.id, 'нет', a.rooms_q, a.area_g, a.floor, a.floors, a.price, a.house_num, a.korp_num, a.apart_num,
  a.deleted, a.id_type, a.id_region, a.id_street, a.phones_list, null, null from offices a, phones p
  where (',' || :phones || ',' containing ',' || p.tel || ',') and (p.id_off = a.id)


  union all

  select distinct a.id, a.name, null, null, null, null, null, null, null, null, a.DELETED, a.ID_TYPE, null, null,
  a.phones_list, null, null from  mediators a, phones p
  where (',' || :phones || ',' containing ',' || p.tel || ',') and (p.id_mediator = a.id)

  into :id, :mediator_name, :rooms_q, :area_g, :floor, :floors, :price, :house_num, :korp_num, :apart_num, 
:deleted, :id_type, :id_region, :id_street, :phones_list, :AREA_I, :AREA_K
  do
  begin

    suspend;
  end
end^


пример выборки
Код

select * from SP_FOUNDED('7572565')

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0466 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.