8.2.4. ストアドプロシージャーのサポート


ストアドプロシージャーは JDBC クライアントでサポートされます。

以下の例は、Eclipse Vert.x 3.x で IN 引数を渡す方法を示しています。

// 3.x
connection.callWithParams(
  "{ call new_customer(?, ?) }",
  new JsonArray().add("John").add("Doe"),
  null,
  res -> {
    if (res.succeeded()) {
      // Success!
    } else {
      // Failed!
    }
  });

以下の例は、Eclipse Vert.x 4 で IN 引数を渡す方法を示しています。

// 4.x
client
  .preparedQuery("{call new_customer(?, ?)}")
  .execute(Tuple.of("Paulo", "Lopes"))
  .onSuccess(rows -> {
    ...
  });

Eclipse Vert.x 3.x では、IN 引数および OUT 引数を組み合わせるサポートは、利用可能なタイプにより大幅に制限されていました。Eclipse Vert.x 4 では、プールは安全なタイプであり、INOUT の引数の組み合わせを処理できます。アプリケーションで INOUT パラメーターを使用することもできます。

以下の例は、Eclipse Vert.x 3.x での引数の処理を示しています。

// 3.x
connection.callWithParams(
  "{ call customer_lastname(?, ?) }",
  new JsonArray().add("John"),
  new JsonArray().addNull().add("VARCHAR"),
  res -> {
    if (res.succeeded()) {
      ResultSet result = res.result();
    } else {
      // Failed!
    }
});

以下の例は、Eclipse Vert.x 4 での引数の処理を示しています。

// 4.x
client
  .preparedQuery("{call customer_lastname(?, ?)}")
  .execute(Tuple.of("John", SqlOutParam.OUT(JDBCType.VARCHAR)))
  .onSuccess(rows -> {
    ...
  });

JDBC クライアントで、データ型が更新されました。

  • OUT 型の引数に、戻り値のタイプを指定できます。この例では、OUT 引数は、JDBC 定数である VARCHAR 型として指定されています。
  • タイプは JSON の制限によってバインドされません。タイプ名のテキスト定数の代わりに、データベース固有の型を使用できるようになりました。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.