Bigquery:利用 Procedure讓程式碼隨時可以呼叫

許博淳
數據共筆
Published in
Apr 20, 2022

有了之前講過的 With,易讀性提昇了,但每次要使用就要寫一次嘛?這樣 Code散落各地會很不好管理。

懶人包

使用 Procedure的優點

  • 減少重複寫相同 Code
  • 版本控制

Procedure的寫法

CREATE OR REPLACE PROCEDURE `dataset_name.user_using_time`()
BEGIN
// 原本的 Code
// 最後記得加 ;
END;

如果要使用的時候,只要

CALL `dataset_name.user_using_time`();

程式碼不但可以重複被使用,而且在不同地方呼叫的產出都會相同,同時 stored procedure更利於版本控制,某種程度上就是把 Query function化。

有參數的 Procedure寫法

如同 function會有參數一樣, procedure也可以塞入參數,除了放入參數之外,也要記得宣告參數的資料類型,點我查看可以使用的資料類型

CREATE OR REPLACE PROCEDURE `dataset_name.user_using_time`(parameter1 data_type, parameter2 data_type )
BEGIN
// 原本的 Code
// 最後記得加 ;
END;

--

--