0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SnowflakeAdvent Calendar 2024

Day 16

ゼロから始めるSnowflake(8/10)

Posted at

コードの確認

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では,クエリ履歴を確認することで,実行したクエリを再チェックできる.

  1. SQLセルの右上に表示される実行時間をクリックする.
  2. ダイアログ内の青いIDリンクをクリックし,クエリプロファイルを開く.
  3. クエリプロファイルで詳細な実行手順を確認し,緑色のチェックマークが表示されているか確認する.

:warning: チェックが通らない場合は,エラーを修正して再実行すること.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?