文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手冊頁 (TGZ) - 258.2Kb
手冊頁 (Zip) - 365.3Kb
資訊 (Gzip) - 4.0Mb
資訊 (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  使用 JavaScript SQL API

27.3.7 使用 JavaScript SQL API

本節討論在執行 SQL 陳述式,以及從簡單 SQL 陳述式和預處理陳述式中取得和處理結果時如何使用 API。JavaScript 中的 SQL 執行僅適用於儲存程序,不適用於儲存函式。

SQL API 支援兩種陳述式類型:簡單 SQL 陳述式(請參閱第 27.3.7.1 節,「簡單陳述式」)和預處理陳述式(第 27.3.7.2 節,「預處理陳述式」)。預處理陳述式支援繫結參數;簡單陳述式則不支援。

在給定工作階段中,同時用於執行儲存程序的可開啟的簡單陳述式最大數量為 16382 個。此數量是固定的,使用者無法設定。如果同時執行的簡單陳述式數量超出此數量,則會發生錯誤。在 JavaScript 中執行的預處理陳述式計入由 max_prepared_stmt_count 決定的全域限制;請參閱此變數的說明以取得更多資訊。

SQL 陳述式傳回的結果集會緩衝到記憶體中。對於簡單陳述式,(整個) 結果集的大小限制為 256 KB;對於預處理陳述式,任何單一列最多可以使用 256 KB。在任一種情況下,如果超過限制,都會引發錯誤。

無論陳述式類型為何,都有兩種機制可用於取用結果。結果集可以在 JavaScript 內處理,也可以直接傳遞到用戶端。請參閱結果集,以取得更多資訊。

您也可以存取工作階段資料,例如暫存資料表、工作階段變數和交易狀態。在儲存程序外部宣告的工作階段變數可以在儲存程序內部存取;暫存資料表也是如此。此外,在儲存程序外部開始的交易可以在內部提交。

產生包含不支援資料類型之結果集的陳述式會導致不支援的類型錯誤。例如,涉及 DESCRIBEEXPLAINANALYZE TABLE 的陳述式會受到此限制的影響,如下所示

mysql> CALL jssp_simple("DESCRIBE t1");
ERROR 6113 (HY000): JavaScript> Unsupported type BLOB/TEXT for 'Type'
mysql> SHOW WARNINGS;
+-------+------+---------------------------------------------------+
| Level | Code | Message                                           |
+-------+------+---------------------------------------------------+
| Error | 6113 | JavaScript> Unsupported type BLOB/TEXT for 'Type' |
+-------+------+---------------------------------------------------+
1 row in set (0.00 sec)

不支援從儲存程序內的 SQL 陳述式設定 JavaScript 區域變數。

API 也支援多個結果集,例如當一個儲存程序呼叫另一個儲存程序時產生的結果集。不支援多重陳述式查詢,且會產生語法錯誤。

本節中的部分範例是以world範例資料庫為基礎,該資料庫可從 MySQL 網站取得。如需從下載檔案安裝資料庫的說明,請參閱第 6.5.1.5 節,「從文字檔執行 SQL 陳述式」