3.6.4.6. 手順リレーショナルデータベースコマンド


手順のリレーショナルデータベースでは、SELECT の構文を使用して EXEC をエミュレートします。手順関連付けられたコマンドでは、手順グループ名がテーブルの代わりに FROM 句で使用されます。この手順に対して、必要な入力値がすべて条件にある場合に、通常のテーブルアクセスの代わりに、この手順が実行されます。条件にある入力値の組み合わせはそれぞれ、手順が実行されます。

構文の例

select * from proc
Copy to Clipboard Toggle word wrap

select output_param1, output_param2 from proc where input_param1 = 'x'
Copy to Clipboard Toggle word wrap
select output_param1, output_param2 from proc, table where input_param1 = table.col1 and input_param2 = table.col2
Copy to Clipboard Toggle word wrap

構文ルール

  • テーブルプロジェクトとして、入力パラメーターを追加して EXEC と同じ列である手順。結果セットが返されない手順の場合、IN_OUT 列は 2 つの列として展開されます。

    • 出力値を表す 1 つ。
    • パラメーターの入力を表す {column name}_IN という名前のもの。
  • 入力値は、基準を介して渡されます。値は = か、null または 述語 渡すことができます。Disjuncts は使用できません。また、等価述語を介して非機密列の値を渡すこともできます。
  • 手順ビューでは、IN パラメーターおよび IN_OUT パラメーターにアクセスパターンが自動的に付けられます。アクセスパターンを使用すると、必要に応じて手順ビューを依存結合として正しく計画したり、十分な基準が見つからない場合は失敗します。
  • パラメーター(IN、IN_OUT、OUT、RETURN)と結果セットのコラムの間に重複する名前が含まれる手順は、proceduralational コマンドで使用できません。
  • 手順と同じ名前のテーブルまたはビューがすでにある場合は、手順のリレーショナルデータベース構文を使用して呼び出すことはできません。
  • 指定の入力に基準がない場合に IN または IN_OUT パラメーターのデフォルト値は使用されません。デフォルト値は、名前付き手順の構文にのみ有効です。詳細は、「 EXECUTE 」を参照してください。
注記

上記の問題は、ネストされたテーブル参照を使用する場合に適用されません。詳細は、「 Nested table reference in FROM clause 」を参照してください。

複数の実行

in または join の条件を使用すると、手順が複数回実行されます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat