> For the complete documentation index, see [llms.txt](https://docs.postgresql.tw/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.postgresql.tw/server-programming/spi/spi-interface/spi-spi-prepare-cursor.md).

# SPI\_prepare\_cursor

### SPI\_prepare\_cursor

SPI\_prepare\_cursor — 準備陳述式，但尚不執行

### 語法

```

SPIPlanPtr SPI_prepare_cursor(const char * command, int nargs,
                              Oid * argtypes, int cursorOptions)
```

### 說明

`SPI_prepare_cursor` 與 `SPI_prepare` 相同，但還允許指定規劃器的「游標選項」參數。它是位元遮罩，其值列於 `nodes/parsenodes.h` 的 `DeclareCursorStmt` `options` 欄位。`SPI_prepare` 一律將游標選項設為零。

此函式現已棄用，請改用 `SPI_prepare_extended`。

### 引數

`const char * command` : 命令字串

`int nargs` : 輸入參數數目（`$1`、`$2` 等）

`Oid * argtypes` : 指向含有參數資料型別 OID 之陣列的指標

`int cursorOptions` : 游標選項的整數位元遮罩；零代表預設行為

### 回傳值

`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` 會被忽略。

***

原文：[PostgreSQL 18.6 Documentation](https://www.postgresql.org/docs/18/spi-spi-prepare-cursor.html)（原文版本：18.6；核對日期：2026-09-06）


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.postgresql.tw/server-programming/spi/spi-interface/spi-spi-prepare-cursor.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
