[英]Storing results of a stored procedure in a Google Big Query table
這是我之前提出的問題的鏈接。 接受的答案完美無缺。
但是這個存儲過程處理 2 個語句,運行這個過程后我必須單擊第二個語句的查看結果才能在 Google Big Query 中查看結果。 有沒有一種方法可以使用 Google Big Query 中的“查詢設置”自動將結果保存在某個表中,並指定我要存儲結果的表的名稱?
您不能為腳本(或調用過程)設置目標表,相反,您可以將SELECT
語句轉換為CREATE TABLE ... AS SELECT
,例如:
SELECT 1 x;
=>
CREATE TABLE myDataset.myTable
AS SELECT 1 x;
您可以為您的過程定義一個字符串參數。 然后在動態查詢中使用這個參數將結果寫入表中。
CREATE OR REPLACE PROCEDURE `my_dataset.my_procedure`(destination_table STRING)
BEGIN
CREATE TEMP TABLE tmp AS SELECT 1 x;
EXECUTE IMMEDIATE (
FORMAT("CREATE OR REPLACE TABLE `%s` AS SELECT * FROM tmp", destination_table));
END
現在您可以提供表名並調用此過程將結果寫入表中。
CALL `my_dataset.my_procedure`("my_dataset.my_table");
SELECT * FROM `my_dataset.my_table`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.