CALL CREATE OR REPLACE PROCEDURE DROP PROCEDURE SHOW PROCEDURES Snowflake SQL ストアドプロシージャ

【SQL】【Snowflake】ストアドプロシージャを利用する方法【CREATE OR REPLACE PROCEDURE】【DROP PROCEDURE】【SHOW PROCEDURES】【CALL】

投稿日:2023年11月13日 更新日:

今回はSnowflakeでストアドプロシージャを利用する方法について解説していきます。

テーブルの作成

まず、テーブルを新規作成します。

(参考:【SQL】【Snowflake】テーブルの更新【CREATE OR REPLACE TABLE】 | ビジネスイッチ (how-to-business.com)


-- 新規作成用 
create or replace table DB1.PUBLIC.DATA1
(
  "id1" VARCHAR(10),
  "id2" VARCHAR(10)
);

プロシージャの作成

続いてプロシージャを作成します。

(INSERT文:【SQL】【Snowflake】テーブルに値を格納する方法【INSERT】 | ビジネスイッチ (how-to-business.com)


-- CREATE OR REPLACE PROCEDURE1
CREATE OR REPLACE PROCEDURE DB1.PUBLIC.INSERT_PROC1()

RETURNS VARCHAR
LANGUAGE SQL
AS
BEGIN

INSERT INTO DB1.PUBLIC.DATA1 VALUES ('1111', '1111');

END;
  • CREATE OR REPLACE PROCEDUREにより、プロシージャを作成できる。
  • DB1.PUBLIC内にINSERT_PROC1()を作成する。
  • RETURNS VARCHARにより、戻り値を文字列型に設定できる。
  • LANGUAGE SQLにより、SQL文を使用すると宣言(?)
  • AS BEGIN~ENDにより、本体となるSQL文を記載できる。

登録プロシージャの確認

続いて登録しているプロシージャ一覧の確認方法です。


-- SHOW PROCEDURE1
SHOW PROCEDURES;
  • SHOW PROCEDURESにより、プロシージャ一覧を確認できる(クエリ結果として表示)。
  • 今回は「DB1.PUBLIC.INSERT_PROC1()」が表示された。

プロシージャの削除

続いて登録しているプロシージャ削除の方法です。


-- DROP PROCEDURE1-
DROP PROCEDURE DB1.PUBLIC.INSERT_PROC1()
  • DROP PROCEDUREにより、プロシージャを削除できる。
  • 今回は「DB1.PUBLIC.INSERT_PROC1()」を削除。

プロシージャの呼び出し

続いて登録しているプロシージャの呼び出し(実行)方法です。


-- CALL1-
CALL DB1.PUBLIC.INSERT_PROC1();
  • CALL文により、プロシージャを呼び出し(実行)できる。
  • 今回は(‘1111’, ‘1111’)をINSERTした。

【内部メモ:追記予定】

-CALL, CREATE OR REPLACE PROCEDURE, DROP PROCEDURE, SHOW PROCEDURES, Snowflake, SQL, ストアドプロシージャ

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【SAS】DISTINCTは重複をユニークにする。【SQL】

今回はSQL文のDISTINCTについて解説します。 /* Id1 */ data data1; Id1=1111; Id2=1111; Id3=1111; Id4=1111; output; Id1 …

no image

【SQL】【Snowflake】スキーマを新規作成する方法【CREATE SCHEMA】

今回は、Snowflake上でスキーマを新規作成する方法について、解説します。 SQL文からスキーマを作成する方法 — 新規作成用 create schema DB1.SCHEMA1; スキーマ「S …

【SAS】ORDER BY句無しで抽出した際の出力順【SQL】

この記事の要約:「ORDER BYを使わない場合、SQLで抽出した際の並び順は保証されない」 SQL文で抽出を行った際に、困ったことが起きました。 同じPG文なのに1回目と2回目で出力結果に違いがある …

no image

【SQL】【Snowflake】ストアドプロシージャをスケジュール実行する方法【タスク】【CREATE OR REPLACE TASK】

今回は、登録したストアドプロシージャをスケジュール登録し、自動走行する方法について解説します。 テーブルの作成(更新):【SQL】【Snowflake】テーブルの更新【CREATE OR REPLAC …

no image

【SQL】【Snowflake】データベースを新規作成する方法【CREATE DATABASE】

今回は、Snowflake上でデータベースを新規作成する方法について、解説します。 SQL文からデータベースを作成する方法 — 新規作成用 create DATABASE DB1; データベースDB …