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

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

PL/SQL - хочу странного (а может и нет)


Страницы:   1 2 3

Dennis I. Komarov ©   (2012-11-13 22:20:00) 

оракуль может подобное?
транслит:
function (a1, a2, ..., am, var b1, b2, ..., bn): TDataSet;

т.е.
FUNCTION...
in
in
out
out
RETURN

на выходе рекордсет (CURSOR наверное)

если да, то пример плз


AV   (2012-11-14 08:36:00) [41]

как вариант,

CREATE OR REPLACE PACKAGE "ATS_ORDER"
is
 TYPE TCursor IS REF CURSOR;
 procedure CloseOrder (Order_ID in number, Cur in out TCursor);
--
 procedure CloseOrder (Order_ID in number, Cur in out TCursor)
 is
   vRes Varchar2(500);
 begin
   vRes := main.Ord_val.Close_Order(Order_ID, sysdate);
   if vRes = 'OK'
     then
       OPEN Cur for
       SELECT 'OK' RSLT, vRes TXT
       FROM dual;
     else
       OPEN Cur for
       SELECT 'NO' RSLT, vRes TXT
       FROM dual;
   end if;
 end;
----------=====
opMainProc.StoredProcName := 'applic.ats_order.CloseOrder';

     opMainProc.Close;
     opMainProc.ParamByName('ORDER_ID').Value := nIdOrder;
     opMainProc.Open;
     Result := (opMainProc.FieldByName('RSLT').AsString = 'OK');
     sReslt := opMainProc.FieldByName('TXT').AsString;

Работает с год уже, в этой части не глючит


Dennis I. Komarov   (2012-11-14 07:42:00) [42]

Переведи...


Медвежонок Пятачок   (2012-11-13 22:47:00) [43]

может конечно.
только зачем именно функция, если речь про PL/SQL?


Страницы:   1 2 3

Наверх

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