コンテンツへスキップ
  • AT SNOWFLAKE
  • Industry solutions
  • Partner & Customer Value
  • Product & Technology
  • Strategy & Insights
Languages
  • Italiano
  • Español
  • Deutsch
  • Français
  • Português
  • 日本語
  • English
  • 한국어
  • Italiano
  • Español
  • Deutsch
  • Français
  • Português
  • 日本語
  • English
  • 한국어
  • AT SNOWFLAKE
  • Industry solutions
  • Partner & Customer Value
  • Product & Technology
  • Strategy & Insights
  • Italiano
  • Español
  • Deutsch
  • Français
  • Português
  • 日本語
  • English
  • 한국어
  • 概要
    • Snowflakeを選ぶ理由
    • カスタマーストーリー
    • パートナー
    • サービス内容
  • 概要
    • プラットフォームの概要
    • Snowflakeマーケットプレイス
    • Powered by Snowflake
    • ライブデモ
  • ワークロード
    • コラボレーション
    • データサイエンス&機械学習
    • サイバーセキュリティ
    • アプリケーション
    • データウェアハウス
    • データレイク
    • データエンジニアリング
    • ユニストア
  • 価格
    • 料金体系
  • 業界
    • 広告・メディア・エンターテインメント
    • 金融サービス
    • ヘルスケア・ライフサイエンス
    • マーケティングアナリティクス
    • 官公庁・公的機関
    • 小売・消費財
    • テクノロジー
  • 詳しく見る
    • リソースライブラリー
    • 資料
    • ハンズオンラボ
    • トレーニング
  • Connect
    • ブログ
    • コミュニティ
    • イベント
    • ウェビナー
    • ポッドキャスト
  • 概要
    • Snowflakeについて
    • 投資家情報
    • 経営陣と取締役会
    • 採用情報
作成者
Felipe Hoffa Felipe Hoffa
Share
Subscribe
2022年5月27日

Snowflakeを使用したSQLでのスクリプト作成について知っておくべきこと

  • 製品 & テクノロジー
    • データウェアハウス
Snowflakeを使用したSQLでのスクリプト作成について知っておくべきこと

注:本記事は(2022年5月18日)に公開された(What You Need to Know About Scripting in SQL with Snowflake)を翻訳して公開したものです。

Snowflakeスクリプトが一般提供されており、Snowflakeを使用したSQLでのスクリプトやストアドプロシージャの作成が可能となりました。このプロシージャ言語を利用することで、条件ステートメントやループステートメントといった構造や制御ステートメントによりSQL言語を拡張し、Snowflakeユーザー(ほとんどがSQLを経験し使用を好んでいる)によるストアドプロシージャの作成やSQLベーススクリプトの変換が容易になります。

この機能は、プレビュー段階において非常に高く評価され使用されました。Snowflakeスクリプトは簡単に使い始めることができます。以下に紹介する重要なコンセプトをご理解いただければ、すぐに使いこなしていただけると思います。

ブロックを理解する

本機能を使用すると、Snowflakeスクリプトブロック内でプロシージャコードを書けるようになります。ストアドプロシージャの定義内でブロックを使用することができるほか、ストアドプロシージャ内での使用を望まない場合は、分離された独立したSQLステートメントとして匿名ブロックを作成することも可能です。

テーブルを返す

主な新機能の1つが、Snowflakeスクリプトを使用してテーブルを返すことができる点です。このように、SnowflakeユーザーがSnowflakeスクリプトを使用してETLやデータ処理タスクを開発できるだけでなく、レポートプロシージャの開発や移行も簡素化されます。SnowflakeスクリプトはSnowflakeのSQLと密に統合されており、データシェアリングやマーケットプレイスアプリケーションの構築における使用や共有が可能です。

制御フローステートメントの機能

Snowflakeスクリプトは、「IF」や「CASE」ステートメントといった分岐構造に対応しています。

  • 「IF」は条件が合致した場合、一連のステートメントを実行します。
  • 「CASE」も「IF」と似たように機能しますが、複数条件の指定がよりシンプルです。

ループの4つの種類:FOR、WHILE、REPEAT、LOOP 

  • 「FOR」ループは一連のステップを指定された回数または結果セットにおける各行について繰り返します。カウンターベースまたはカーソルベースとすることができます。
  • 「WHILE」ループは、条件が真の場合のみ実行されます。「WHILE」条件は、ループ本文前に即時に判断され、条件が偽であった場合ループは実行されません(最初のループで生じた場合1度も実行されません)。
  • 「REPEAT」ループは条件が真となるまで繰り返されます。
  • 「LOOP」ループはコマンドが入力されるまで実行し続けます。

カーソルを利用してクエリ結果の1行ごとにループさせることも可能です。クエリの結果からデータを取得するにはカーソルを使用してください。ループ内にあるカーソルを使用して結果の複数行に対しループさせることができます。

例外の取り扱い

Snowflakeスクリプトブロック内では、エラーが生じた場合に例外を発生させ、例外処理としてコードの次の行の実行を阻止することができます。またSnowflakeスクリプトコード内で生じた例外を処理することもできます。

例外が発生した場合、Snowflakeスクリプトはハンドラーを検知しようとします。例外ハンドラーには、別の例外処理中の例外発生に備え、例外ハンドラー自体の例外ハンドラーを含むことができます。

Snowflakeスクリプトの詳細についてはSnowflakeドキュメンテーションをご覧いただき、開始にあたってはメディア上のSQLスクリプト例をご参照ください。

ボーナス:Snowflakeのデータに関するスーパーヒーローであるRajiv Guptaが、メディア上で分岐構造、ループ、カーソル結果、例外処理についてシリーズで掲載しています。 

Share

Queries in SQL

Explore SQL queries using Snowflake. Enhance your SQL skills and leverage Snowflake's capabilities for efficient data querying. Unlock the power of data today.

Full Details
全文を読む

Accelerate Legacy EDW Migrations with Snowflake Scripting, Now in...

We are extending SQL language with structures and control statements, so that users can now translate existing SQL-based...

Discover
全文を読む

Effective Media Buying Requires Deep Audience Insights

With the plethora of digital platforms and services available today, media buying depends on big data for audience insights to help marketers keep pace.

Expand your knowledge
全文を読む

AI Governance Best Practices

AI governance is critical to addressing the ethical, legal, and societal implications of AI systems. Here are five crucial best practices for AI governance.

Delve into the details
全文を読む
Snowflake Inc.
  • プラットフォーム
    • メディア&エンターテインメント
    • アーキテクチャ
    • 価格
    • Snowflakeデータマーケットプレイス
  • ソリューション
    • 医療・ライフサイエンスのためのSnowflake
    • 金融サービスのためのSnowflake
    • マーケティング分析のためのSnowflake
    • 小売業のためのSnowflake
    • 教育のためのSnowflake
  • リソース
    • リソースライブラリー
    • ウェビナー
    • 資料
    • コミュニティ
    • 法務
  • もっと知る
    • ニュース
    • ブログ
    • トレンド
  • 企業情報
    • Snowflakeについて
    • 経営陣と取締役会
    • パートナー
    • 求人
    • お問い合わせ

Sign up for Snowflake Communications

Thanks for signing up!

  • Privacy Notice
  • Site Terms
  • Cookie Settings

© 2023 Snowflake Inc. All Rights Reserved