SPI_prepare_cursor
SPI_prepare_cursor — подготовить оператор, но пока не выполнять его
Синтаксис
SPIPlanPtr SPI_prepare_cursor(const char *command
, intnargs
, Oid *argtypes
, intcursorOptions
)
Описание
Функция SPI_prepare_cursor
равнозначна SPI_prepare
, за исключением того, что ей можно передать «параметры курсора». Эти параметры задаются битовой маской со значениями, определёнными в nodes/parsenodes.h
для поля options
структуры DeclareCursorStmt
. SPI_prepare
подразумевает, что эти параметры всегда нулевые.
Аргументы
const char *
command
строка команды
int
nargs
число входных параметров (
$1
,$2
и т. д.)Oid *
argtypes
указатель на массив, содержащий OID типов параметров
int
cursorOptions
битовая маска параметров курсора; 0 выбирает поведение по умолчанию
Возвращаемое значение
SPI_prepare_cursor
возвращает результат по тем же соглашениям, что и SPI_prepare
.
Примечания
К числу полезных бит, которые можно задать в cursorOptions
, относятся CURSOR_OPT_SCROLL
, CURSOR_OPT_NO_SCROLL
, CURSOR_OPT_FAST_PLAN
, CURSOR_OPT_GENERIC_PLAN
и CURSOR_OPT_CUSTOM_PLAN
. Заметьте, что параметр CURSOR_OPT_HOLD
игнорируется.
Chapter 43. PL/pgSQL — SQL Procedural Language
Table of Contents
- 43.1. Overview
- 43.2. Structure of PL/pgSQL
- 43.3. Declarations
- 43.4. Expressions
- 43.5. Basic Statements
- 43.6. Control Structures
- 43.7. Cursors
- 43.8. Transaction Management
- 43.9. Errors and Messages
- 43.10. Trigger Functions
- 43.11. PL/pgSQL under the Hood
- 43.12. Tips for Developing in PL/pgSQL
- 43.13. Porting from Oracle PL/SQL