2017-10-18 37 views
0

https://www.postgresql.org/docs/current/static/libpq-exec.html 旁邊PQpreparePostgres的:我可以準備無名的語句從SQL

該函數創建從 查詢字符串名爲stmtName一份聲明,其中必須包含一個SQL命令。 stmtName可以是 「」創建一個無名語句,在這種情況下任何預先存在的 無名語句被自動替換;否則它是一個錯誤 如果語句名是在當前會話中已定義。

,並進一步:

使用預處理語句PQexecPrepared也可以通過 執行SQL語句PREPARE創建。

現在https://www.postgresql.org/docs/current/static/sql-prepare.html

PREPARE名[(DATA_TYPE [,...])] AS語句

和:

名的任意名字給這個特別準備的聲明。這 必須是在一個會話中是唯一的,隨後用於 執行或刪除前面準備好的語句。

問: 我可以不使用SQL語句PREPARE創建無名預備語句?默默地重複使用和所有其餘的...

t=# prepare ""(int) as select $1,now(); 
ERROR: zero-length delimited identifier at or near """" 
LINE 1: prepare ""(int) as select $1,now(); 

和ommiting名稱:

ERROR: syntax error at or near "as" 

或者我失去了一些東西很明顯..

回答

1

號無名準備語句只支持有線協議。

他們主要用於與綁定參數一次性報表和配料。

+0

謝謝。我是這麼想的。你覺得我應該問文檔的人來調整'準備語句與PQexecPrepared使用,也可通過執行SQL PREPARE statements.'如果你認爲有必要,一定要有這個例外?.. –

+0

創建。提交補丁:) –