系統程序參考資料
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.update 和 bigquery.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。
詳情請參閱「手動重新整理」。