Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выборка только 1ой записи, удовлетворяющей условие [FireBird 1.5]


DelphiN! ©   (2008-03-26 11:07:00) 

Пишу процедуру на FireBird SQL, мне необходимо обработать только 1ую запись, которая удовлетворяет моему условию, но в ответ FireBird выдаёт ошибку mutiple rows in singleton select

Вот кусок моего SQL :


     select time_,summ_ from casebase where cardno_ = :login and
       prim_ = 'Login activated' and time_ < :vremya order by time_ desc
         into :NACHALO,:activated_summa;
           result_nachalo = nachalo;
           ...


Как выбрать только первую запись, которая удовлетворяет условию или обработать только 1ую?


Johnmen   (2008-03-27 23:37:00) [1]


> PEAKTOP ©   (27.03.08 23:27) [18]
> Embedded SQL для gpre ни с чем не путаем ?

Откуда ж я знаю, путаешь ты, или нет?


PEAKTOP   (2008-03-27 23:27:00) [2]

> DECALRE CURSOR было с незапамятных времен...

Embedded SQL для gpre ни с чем не путаем ?


Johnmen   (2008-03-27 23:16:00) [3]

DECALRE CURSOR было с незапамятных времен...


Reindeer Moss Eater   (2008-03-27 23:13:00) [4]

Нет курсоров - нет возможности "построчной" обработки данных выборки.
Есть возможность  - есть и курсоры.

И нефик, как говорилось выше "парить людям мозг".


Reindeer Moss Eater   (2008-03-27 22:59:00) [5]

демагогией здесь занимаются те, кто упорствует насчет отсутсвия неявных курсоров в ib.


jack128_   (2008-03-27 22:30:00) [6]


> если это не неявный курсор (как бы он по другому ни обзывался
> в interbase'е ), то я тогда испанский летчик.

представь себе некий диалект паскаля, в котором бы не было циклов while и repeat, а был бы только for. Я конечно понимаю, что можно было бы говорить, что мол в таком языке есть циклы. Но это демагогия.


Reindeer Moss Eater   (2008-03-27 21:56:00) [7]

Во-вторых, курсоры таки есть :) Глянь в сырцы. А в "двойке" даже задаются явно в PL\SQL DECALRE CURSOR <CURSOR_NAME> AS [SELECT ...];

Это явные. А неявные еще в четверке IB были и есть.


Prohodil Mimo   (2008-03-27 21:53:00) [8]


select FIRST 1time_,summ_ from casebase where cardno_ = :login and
      prim_ = 'Login activated' and time_ < :vremya order by time_ desc
        into :NACHALO,:activated_summa;
          result_nachalo = nachalo;


как уже раньше сказали в [5], и нечего людям мозги парить.


Reindeer Moss Eater   (2008-03-27 21:41:00) [9]

Вот фрагмент процедуры из
C:\Program Files\Common Files\Borland Shared\Data\employee.gdb

FOR SELECT h.department, d.department, d.mngr_no, d.dept_no
 FROM department d
 LEFT OUTER JOIN department h ON d.head_dept = h.dept_no
 ORDER BY d.dept_no
 INTO :head_dept, :department, :mngr_no, :dno
DO
BEGIN
 IF (:mngr_no IS NULL) THEN
 BEGIN
  mngr_name = "--TBH--";
  title = "";
 END
.....

если это не неявный курсор (как бы он по другому ни обзывался в interbase'е ), то я тогда испанский летчик.


PEAKTOP   (2008-03-27 21:23:00) [10]

> MsGuns ©   (27.03.08 21:16) [9]
>
> В ИБ нет курсоров. Как бы их не называли


Во-первых, речь идет не об Interbase, а о Firebird, что таки есть две большие разницы.

Во-вторых, курсоры таки есть :) Глянь в сырцы. А в "двойке" даже задаются явно в PL\SQL DECALRE CURSOR <CURSOR_NAME> AS [SELECT ...];


MsGuns   (2008-03-27 21:16:00) [11]

>Reindeer Moss Eater ©   (27.03.08 08:02) [7]
>да ладно нету. по крайней мере неявные есть, просто их там не называют курсорами.

В ИБ нет курсоров. Как бы их не называли


смарт   (2008-03-27 09:12:00) [12]

Top 1 ?


Reindeer Moss Eater   (2008-03-27 08:02:00) [13]

да ладно нету. по крайней мере неявные есть, просто их там не называют курсорами.


Германн   (2008-03-27 01:32:00) [14]


> jack128_   (26.03.08 23:22) [5]

Хм. Запомню. Может пригодится. Были идеи у заказчика.


jack128_   (2008-03-26 23:22:00) [15]

В полуторке нет курсоров.
select first 1
и далее по тексту запроса..


Правильный_Вася   (2008-03-26 11:18:00) [16]

for select


DelphiN!   (2008-03-26 11:17:00) [17]


> Reindeer Moss Eater ©   (26.03.08 11:13) [1]


Спасибо!!!


Reindeer Moss Eater   (2008-03-26 11:14:00) [18]

или как там по ихнему курсоры зовутся


Reindeer Moss Eater   (2008-03-26 11:13:00) [19]

курсор и брейк


Наверх

Титульная страница Поиск, карта сайта Написать письмо