👓
【GCP】BQでデータセット名やテーブル名に変数を利用
目的
bigqueryのstandardSQLでデータセット名やテーブル名に変数の値を利用したいと思います。
課題感
DECLAREで定義した変数は
そのままではstandardSQLのデータセット名やテーブル名に利用できません。
方法
「DECLARE」と「EXECUTE IMMEDIATE FORMAT」で動的SQLステートメントの作成して実現します。
データセット名に変数を利用
DECLARE value STRING;
SET value = "analytics_279437325";
EXECUTE IMMEDIATE FORMAT("""
SELECT event_date FROM `%s.events_20220710` LIMIT 10
""", value);
テーブル名に変数を利用
DECLARE value STRING;
SET value = "events_20220710";
EXECUTE IMMEDIATE FORMAT("""
SELECT event_name FROM `analytics_279437325.%s` LIMIT 10
""", value);
データセット名やテーブル名の一部にのみ変数利用
DECLARE value1 STRING;
DECLARE value2 STRING;
SET value1 = "279437325";
SET value2 = "20220710";
EXECUTE IMMEDIATE FORMAT("""
SELECT event_timestamp FROM `analytics_%s.events_%s` LIMIT 10
""", value1,value2);
chameleonmeme.com/ きっかけは、偶然同じ現場で働いていたエンジニア3人の 「もっと仕事にのめり込んだり、熱中したいよね」という雑談でした。 営業から開発、サービスの提供まですべての工程を自分たちの手で行い、 気の合う仲間と楽しく仕事をすることで熱中するためにチームをスタートしました。
Discussion