Знатокам SQL !!!
В документации по Клариону в книге Clarion Programmer's Guide на странице 717 приводится пример получения некоторого набора данных после вызова хранимой процедуры.
Привожу текст......
Example:
MyFile FILE,DRIVER('ODBC')
Record RECORD
ErrorCode LONG
ErrorMsg STRING(100)
. .
CODE
OPEN(MyFile)
MyFile{PROP:SQL} = 'CALL ProcWithResultSet' ! вызов процедуры
NEXT(MyFile) ! возможно в цикле или нет
IF ~ERRORCODE()
IF MyFile.ErrorCode THEN STOP(MyFileErrorMsg).
END
Note: The above example shows how to return a result set. The
result set must match the fields declared in the named file or
view. The storedprocedure ProcWithResultSet includes a final
select statement that results with the set of requested data.
Мне неудается таким способом получить данные из базы Oracle. Хотя в отличии от этого примера прекрасно работает пример, когда данные читаются кларионовским NEXT - том после явно переданного в PROP:SQL оператора SELECT....
С уважением Захаров Владимир !
(Добавление)
хранимка должна возвращать курсор, тогда и NEXT будет работать, что у тебя в хранимке?
Andrew Myalin
andrew@arsis.ru
http://mavcla.arsis.ru (MAV Direct ODBC)
ICQ: 10659412
Yahoo group: clarion@yahoogroups.com
Здравствуйте уважаемыею.
IF ~ERRORCODE()
IF MyFile.ErrorCode THEN STOP(MyFileErrorMsg).
END
Странная конструкция.
Обратите внимание на соответствие структуры MyFile и возвращаемого результата.
Vasiliev B <soft2@mail.redcom.ru>
Написал: ClaList(2)
Clarion - Oracle
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Здравствую Андрей ! С Уважением Захаров Владимир !
Извиняюся за долгое отсутствие в ClaList - по служебной необходимости !
В хранимой процедуре у меня объявляется и обрабатывается курсор или просто объявляется и открывается курсор !
Возможно я не умею объявлять курсоров в качестве параметров хранимых процедур Oracle.
Хотя я активно использую хранимые процедуры с курсорами, в том числе и возвращающие различные виды параметров кроме курсоров.
Понимание, что нужно иметь соответствующий буфер файла для приема данных курсора.
Подскажи, как объявлять и использовать курсор в хранимой процедуре для получения его результата на клиенте при помощи NEXT.
С Уважением Захаров Владимир !
Написал: ClaList(2)
Извиняюся за долгое отсутствие в ClaList - по служебной необходимости !
В хранимой процедуре у меня объявляется и обрабатывается курсор или просто объявляется и открывается курсор !
Возможно я не умею объявлять курсоров в качестве параметров хранимых процедур Oracle.
Хотя я активно использую хранимые процедуры с курсорами, в том числе и возвращающие различные виды параметров кроме курсоров.
Понимание, что нужно иметь соответствующий буфер файла для приема данных курсора.
Подскажи, как объявлять и использовать курсор в хранимой процедуре для получения его результата на клиенте при помощи NEXT.
С Уважением Захаров Владимир !
Написал: ClaList(2)