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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использование Cursor а, Курсор на Постгресе 
V
    Опции темы
bax
Дата 1.8.2011, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Народ! Подскажите в каком порядке можно использоват курсор в Постгрессе?
мануалах ничегно конкретного нет, видно что не программист написал эти постгрессовские мануалы!
в Оракле было выход из цикла курсора с проверкой 
NOTFOUND (FETCH, loop EXIT WHEN NOTFOUND end loop CLOSE) или 
цикл с использованием курсора (FOR x in cursor1 LOOP ... END LOOP)
Но в POSTGRE/SQL не знаю как использовать, потому что нормального учебника нет!
а этот сайт http://www.postgresql.org/docs/9.0/static/index.html  написано ПЛОХО!
PM MAIL   Вверх
bax
Дата 5.8.2011, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



 проблему можно считат решенным!
предлагаю демонстрационный код, чтобы кому-нибуд пригодился

Код

DECLARE x numeric;
DECLARE y numeric;
DECLARE xy record;
DECLARE s numeric;
begin
 x:=0;y:=0; s:=0;
 for xy in 
   (select lat as x1, lon as y1 from locat where unit_id=$1 and dtim between $2 and $3 order by dtim) --неявный курсор
   LOOP
    if (x>0) then s:=s+mas(x,y,xy.x1,xy.y1);end if;
    x:=xy.x1; y:=xy.y1;
   end LOOP;
 return round(s,3);
end

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PostgreSQL | Следующая тема »


 




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


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

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