コードの確認
INFORMATION_SCHEMAを利用したメタデータクエリ
INFORMATION_SCHEMA
は,データベース,スキーマ,テーブル,ビューなどの統計情報を保持するメタデータのリポジトリである.
以下のSQLを実行し,ユーザーのGARDEN_PLANTSデータベース内のすべてのスキーマを取得する.
SELECT *
FROM garden_plants.information_schema.schemata;
作業確認コードの実行
チェック1: 必須スキーマの存在確認
以下のSQLを使用し,FLOWERS,VEGGIES,FRUITSスキーマが存在し,PUBLICスキーマが存在しないことを確認する.
WITH schema_check_1 AS (
SELECT COUNT(*) AS count_1
FROM garden_plants.information_schema.schemata
WHERE schema_name IN ('FLOWERS','VEGGIES','FRUITS')
),
schema_check_2 AS (
SELECT COUNT(*) AS count_2
FROM garden_plants.information_schema.schemata
WHERE schema_name = ('PUBLIC')
)
SELECT IFF((count_1=3) AND (count_2=0),'\u2705 正解','\u26D4 間違い.確認して,再実行してみましょう.') AS schema_check
FROM schema_check_1, schema_check_2;
チェック2: 作成したスキーマの名前確認
スキーマ名が正しいかを確認するためのSQLを実行する.正しい場合,3行が返される.
SELECT schema_name
FROM GARDEN_PLANTS.INFORMATION_SCHEMA.SCHEMATA
WHERE schema_name IN ('FLOWERS','FRUITS','VEGGIES');
チェック3: ROOT_DEPTHテーブルの存在確認
VEGGIESスキーマ内にROOT_DEPTHテーブルが作成されているか確認するため,以下のストアドプロシージャを呼び出す.
CALL common_db.resources.local_grader('OB03', '{{user}}');
クエリ履歴の確認
Snowflakeでは,クエリ履歴を確認することで,実行したクエリを再チェックできる.
- SQLセルの右上に表示される実行時間をクリックする.
- ダイアログ内の青いIDリンクをクリックし,クエリプロファイルを開く.
- クエリプロファイルで詳細な実行手順を確認し,緑色のチェックマークが表示されているか確認する.
チェックが通らない場合は,エラーを修正して再実行すること.