Разница между сильным и слабым ref_cursor в оракуле - PullRequest
1 голос
/ 18 мая 2011

Я хочу знать практическую разницу между сильным и слабым ref cursor.

Strong ref_cursor всегда будет использовать для возврата значения, и компилятор знает структуру во время компиляции, но в слабом ref cursor он не будет возвращать значение, и компилятор не будет знать структуру во время компиляции.

Это принципиальная разница, но мой вопрос в том, какое значение будет возвращено сильным ref cursor и где будет использоваться это возвращенное значение.

Ответы [ 2 ]

7 голосов
/ 18 мая 2011

Сильно типизированный ref-курсор всегда возвращает известный тип, обычно из объявленного объекта TYPE.Компилятор может найти проблемы в блоке PL / SQL, сравнивая возвращаемые типы с тем, как они используются.

Слабонабираемый ref-курсор имеет тип возврата, который зависит от выполняемого оператора SQL, т.е. только один раз.Курсор открыт - это известный тип (во время выполнения).Компилятор не может определять типы до тех пор, пока он не будет запущен, поэтому необходимо позаботиться о том, чтобы набор результатов курсора обрабатывался правильно, чтобы избежать ошибок времени выполнения.

0 голосов
/ 28 декабря 2012

есть еще одна разница между сильным и слабым опорным курсором, что динамический запрос не представляется возможным в сильной эталонным курсора, где, как можно в слабом эталонным курсора

...