有了之前講過的 With,易讀性提昇了,但每次要使用就要寫一次嘛?這樣 Code散落各地會很不好管理。
使用 Procedure的優點
我發現搜尋 Refactor meme會找到超多謎因,如果你多數都能看懂,也代表你掌握了重構的知識之外,還踩過很多坑 XD
我們可以使用 Create or replace table來建立或重建表格(BigQuery:利用 Create or replace table創建表格),但如果只是要更新最新一段時間的資料,或是不想動到歷史資料可以做?
在我們學過 Procedure和 Table function後,是可以做到類似區域變數和全域變數的功能,但有沒有辦法把把一些運算結果當做變數塞到 Where裡面呢?
當然是有,不然我要怎麼寫這篇(無誤
DECLARE 創造區域變數,SET 賦值
CREATE FUNCTION 創造全域 function,CREATE…
有了 procedure我們就能確保任何時候呼叫能得產出一樣的結果,但如果我不只是要結果,而是要把結果再做進一步的應用呢?
同一類型的運算塞在 table function
最後要顯示的結果放在 procedure
遇到資料重複真的好討厭,要怎麼找出不重複的資料?
希望你看到問題至少有想到 Group by,代表你至少有基礎的 SQL知識,不然應該要回去學習基礎,我推薦 w3school(無業配),我自己最早也是在這裡學,真心推薦。
-- 方法1SELECT A, B, ... ,ZFROM tableGROUP BY A, B, ... ,Z
我們學會了將部分程式碼包裝成 table function來應用,最後執行的結果是否能儲存成一張表呢?
Table function用在 FROM後面的資料來源
Create table用在真的產出表格