第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>
Copy to Clipboard Toggle word wrap

URI 形式

SQL コンポーネントは、以下のエンドポイント URI 表記を使用します。
sql-stored:template[?options]
Copy to Clipboard Toggle word wrap
ここでの template は、ストアドプロシージャーの名前および IN および OUT 引数を宣言するテンプレートです。
また、ファイルシステム上の外部ファイルのテンプレートや、以下のようなクラスパスを参照することもできます。
sql-stored:classpath:sql/myprocedure.sql[?options]
Copy to Clipboard Toggle word wrap
sql/myprocedure.sql は、以下のようにテンプレートを含むクラスパスのプレーンテキストファイルです。
SUBNUMBERS(
  INTEGER ${headers.num1},
  INTEGER ${headers.num2},
  OUT INTEGER resultofsub
)
Copy to Clipboard Toggle word wrap
以下の形式で 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)"/>
Copy to Clipboard Toggle word wrap
引数は 型によって宣言され、Simple 式を使用した Camel メッセージへのマッピングです。この例では、最初の 2 つのパラメーターは INTEGER タイプの IN 値で、メッセージヘッダーにマッピングされます。最後のパラメーターは OUT 値で、INTEGER タイプでもあります。
SQL 用語では、ストアドプロシージャーは次のように宣言できます。
CREATE PROCEDURE SUBNUMBERS(VALUE1 INTEGER, VALUE2 INTEGER,OUT RESULT INTEGER)
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat