BigQuery Scriptingで処理を書いている途中で、少しだけ待ち時間を挟みたいことがたまにあります。
そんな時用のsleep処理をprocedureとして書いてみました。
CREATE OR REPLACE PROCEDURE `<プロジェクト名>.<データセット名>.sleep`(IN sec INT64)
BEGIN
DECLARE now TIMESTAMP DEFAULT CURRENT_TIMESTAMP();
DECLARE finish TIMESTAMP DEFAULT TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL sec SECOND);
WHILE now < finish DO
SET now = CURRENT_TIMESTAMP();
END WHILE;
END;