第166章 SQL ストアドプロシージャ


SQL ストアドプロシージャコンポーネント

Camel 2.17 以降で利用可能
sql-stored: コンポーネントを使用すると、JDBC Stored Procedure クエリーを使用してデータベースを操作することができます。このコンポーネントは SQL コンポーネントの拡張ですが、ストアドプロシージャーを呼び出すために特化されています。
このコンポーネントは、実際の SQL 処理のために spring-jdbc を背後で使用します。
Maven ユーザーは、このコンポーネントの以下の依存関係を pom.xml に追加する必要があります。
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-sql</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

URI 形式

SQL コンポーネントは、以下のエンドポイント URI 表記を使用します。
sql-stored:template[?options]
ここでの template は、ストアドプロシージャーの名前および IN および OUT 引数を宣言するテンプレートです。
また、ファイルシステム上の外部ファイルのテンプレートや、以下のようなクラスパスを参照することもできます。
sql-stored:classpath:sql/myprocedure.sql[?options]
sql/myprocedure.sql は、以下のようにテンプレートを含むクラスパスのプレーンテキストファイルです。
SUBNUMBERS(
  INTEGER ${headers.num1},
  INTEGER ${headers.num2},
  OUT INTEGER resultofsub
)
以下の形式で URI にクエリーオプションを追加できます。 ?option=value&option=value&...

オプション

Expand
オプション
デフォルト
説明
batch
boolean
false
バッチモードを有効または無効にします。
dataSource
string
レジストリーで検索するための DataSource への参照。
noop
boolean
false
が設定されている場合、テンプレートの結果を無視し、処理を継続するために OUT メッセージとして既存の IN メッセージを使用します。
outputHeader string テンプレート結果をメッセージのボディーではなくヘッダーに保存します。デフォルトでは outputHeader == null とテンプレートの結果はメッセージボディーに保存されます。メッセージボディーの既存のコンテンツは破棄されます。outputHeader が設定されている場合は、テンプレートの結果を格納するヘッダーの名前として値が使用され、元のメッセージボディーは保持されます。
useMessageBodyForTemplate boolean false メッセージボディーをテンプレートとして使用し、ヘッダーをパラメーターに使用するかどうか。このオプションが有効な場合には、uri のテンプレートは使用されません。

ストアドプロシージャーテンプレートの宣言

テンプレートは、Java メソッド署名と同様の構文を使用して宣言されます。ストアドプロシージャーの名前、そして括弧で囲まれた引数。この例では、以下も説明しています。
<to uri="sql-stored:SUBNUMBERS(INTEGER ${headers.num1},INTEGER ${headers.num2},OUT INTEGER resultofsub)"/>
引数は 型によって宣言され、Simple 式を使用した Camel メッセージへのマッピングです。この例では、最初の 2 つのパラメーターは INTEGER タイプの IN 値で、メッセージヘッダーにマッピングされます。最後のパラメーターは OUT 値で、INTEGER タイプでもあります。
SQL 用語では、ストアドプロシージャーは次のように宣言できます。
CREATE PROCEDURE SUBNUMBERS(VALUE1 INTEGER, VALUE2 INTEGER,OUT RESULT INTEGER)
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る