SAP HANA SQL ストアド プロシージャ チュートリアル
SQL ストアド プロシージャとは何ですか?
プロシージャは、特定のタスクを実行するユニット/モジュールです。 この手順を組み合わせて、より大きなプログラムを作成できます。 これは基本的に「モジュラーデザイン」を形成します。 プロシージャは、呼び出しプログラムと呼ばれる別のプロシージャによって呼び出すことができます。
プロシージャは、特定のデータ変換シーケンスを備えた再利用可能な処理ブロックです。 プロシージャには複数の入力/出力パラメータを含めることができます。 プロシージャは、読み取り専用または読み取り/書き込みとして作成できます。
An SQL プロシージャは次の場所で作成できます –
- スキーマレベル(カタログノード)
- パッケージレベル(コンテンツノード)
ストアド プロシージャ構文 SAP HANA 以下に示すとおりです –
構文
CREATE PROCEDURE <proc_name> [(<parameter_clause>)] [LANGUAGE <lang>] [SQL SECURITY <mode>] [DEFAULT SCHEMA <default_schema_name>] [READS SQL DATA [WITH RESULT VIEW <view_name>]] AS {BEGIN [SEQUENTIAL EXECUTION] <procedure_body> END | HEADER ONLY }
CREATE PROCEDURE ステートメントは、言及されたプログラミング言語を使用してプロシージャを作成します。 。
構文要素
要素 | DESCRIPTION |
---|---|
プロシージャ名 | |
パラメータはここで定義されます。 IN、OUT、INOUTパラメータがあります。 各パラメータはキーワード IN/OUT/INOUT を使用してマークされます。
• IN – 値を INPUT として渡すプロシージャに使用されます。 読み取り専用パラメータです。 • OUT – プロシージャからの戻り値に OUTPUT として使用されます。 • INOUT – 同じパラメータによるプロシージャへの渡し値と戻り値に使用されます。 |
|
言語 | プロシージャで使用されるプログラミング言語を定義します。 デフォルト: SQLSCRIPT |
SQLセキュリティ | プロシージャのセキュリティ モードを指定します。 デフォルト: ディファイナー
• DEFINER – プロシージャの実行がプロシージャの定義者の権限で実行されることを指定します。 • INVOKER – プロシージャの実行がプロシージャの呼び出し者の権限で実行されることを指定します。 |
プロシージャ本体内の非修飾オブジェクトのスキーマを定義します。 何も定義されていない場合は、セッションの現在のスキーマがプロシージャに使用されます。 | |
SQL データを読み取ります | これは、プロシージャを読み取り専用としてマークします。これは、プロシージャがデータベース データやその構造を変更せず、プロシージャに DDL または DML ステートメントが含まれていないことを意味します。 このプロシージャは、他の読み取り専用プロシージャのみを呼び出します。 |
結果ビューあり | 読み取り専用プロシージャの出力として使用される結果ビューを定義します。 プロシージャに結果ビューが指定されている場合、その結果ビューは SQL テーブルまたはビューと同じプロセス内のステートメント。 |
順次実行 | このステートメントは、プロシージャ ロジックの順次実行を強制します。 並列処理は行われません。 |
選択したプログラミング言語に基づいてプロシージャの本体を定義します。 | |
ヘッダーのみ | ヘッダーのみを使用した場合、プロシージャ プロパティのみが OID を使用して作成されます。 |