Всем привет! Подскажите плз как можно вернуть в какую нить переменную дельфи массив значений. есть хранимая процедура на Oracle формирующая этот массив а как его использовать затем на клиенте ума не приложу со всеми остальными параметрами получается, а с массивом нет...
код хранилки
| Код | CREATE OR REPLACE TYPE IntArray AS TABLE OF NUMBER;
CREATE OR REPLACE PROCEDURE GetDeltaNumbersForPeriod( datebegin IN DATE, dateend IN DATE, dtype IN VARCHAR2, dnumbers OUT IntArray, --с этим параметром проблема вернуть его клиенту dcount OUT NUMBER, errcode OUT NUMBER, errmess OUT VARCHAR2 ) IS vCNT NUMBER; BEGIN SELECT COUNT(1) INTO vCNT FROM DELTAS_HISTORY WHERE UPPER(objecttype)=UPPER(dtype) AND createdate BETWEEN datebegin AND dateend; IF (vCNT>0) THEN dnumbers.extend(vCNT); SELECT delta_id BULK COLLECT INTO dnumbers FROM DELTAS_HISTORY WHERE UPPER(objecttype)=UPPER(dtype) AND createdate BETWEEN datebegin AND dateend; dcount:=vCnt; ELSE dcount:=0; END IF; EXCEPTION WHEN OTHERS THEN errcode:=SQLCODE; errmess:=trim(SQLERRM); dcount:=0; END;
| |