系統程序參考資料

BigQuery 支援下列系統程序,使用方式與使用者建立的預存程序類似。

BQ.ABORT_SESSION

語法

CALL BQ.ABORT_SESSION([session_id]);

說明

終止目前的工作階段。

您可以選擇指定工作階段 ID,如果系統程序不是從該工作階段呼叫,您就能終止工作階段。

詳情請參閱「終止工作階段」。

BQ.JOBS.CANCEL

語法

CALL BQ.JOBS.CANCEL(job);

說明

取消正在執行的工作。

'[project_id.]job_id' 格式將工作指定為字串。如果您從與工作不同的專案執行這項系統程序,則必須加入專案 ID。您必須在與工作相同的位置執行程序。

詳情請參閱「取消工作」。

BQ.CANCEL_INDEX_ALTERATION

語法

CALL BQ.CANCEL_INDEX_ALTERATION(table_name, index_name);

說明

取消使用者啟動的向量索引重建作業

以字串形式指定資料表名稱,格式為 '[project_id.]dataset.table',並以字串形式指定索引名稱。如果您從與資料表不同的專案執行這項系統程序,則必須加入專案 ID。

您必須在與索引資料表相同的位置執行這項程序。如要設定查詢位置,請參閱「指定位置」。

範例

CALL BQ.CANCEL_INDEX_ALTERATION('my_project.my_dataset.indexed_table', 'my_index');

BQ.REFRESH_EXTERNAL_METADATA_CACHE

語法

CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE(table_name [, [subdirectory_uri, ]]);

說明

重新整理 BigLake 資料表或物件資料表的中繼資料快取。 如果對中繼資料快取模式設為 AUTOMATIC 的資料表執行這項程序,就會失敗。

如要執行這項系統程序,您需要 bigquery.tables.updatebigquery.tables.updateData 權限。

以字串形式指定資料表名稱,格式為 '[project_id.]dataset.table'。如果您從與資料表不同的專案執行這項系統程序,則必須加入專案 ID。

如果是 BigLake 資料表,您也可以選擇在 Cloud Storage 中,以 'gs://table_data_directory/subdirectory/.../' 格式指定資料表資料目錄的一或多個子目錄。這樣一來,您就能只重新整理這些子目錄中的資料表中繼資料,避免處理不必要的中繼資料。

範例

如要重新整理資料表的所有中繼資料,請按照下列步驟操作:

CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE('myproject.test_db.test_table')

如要選擇性重新整理 BigLake 資料表的中繼資料,請按照下列步驟操作:

CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE('myproject.test_db.test_table', ['gs://source/uri/sub/path/d1/*', 'gs://source/uri/sub/path/d2/*'])

限制

  • 如果連結資料集參照外部資料集中的資料表,則不支援重新整理中繼資料快取。
  • 中繼資料快取重新整理不應在多重陳述式交易中使用。

BQ.REFRESH_MATERIALIZED_VIEW

語法

CALL BQ.REFRESH_MATERIALIZED_VIEW(view_name);

說明

重新整理具體化檢視表。

以字串形式指定 materialized view 的名稱,格式為 '[project_id.]dataset.table'。如果您從具體化檢視區塊以外的專案執行這項系統程序,則必須加入專案 ID。

詳情請參閱「手動重新整理」。