Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

ストアド・プロシージャの実行

Caché では、ストアド・プロシージャを実行することもできます。以下のメソッドは、Contact に格納されている RetrieveByContactType プロシージャを実行します。このプロシージャは、ContactType プロパティの値を表す 1 つのパラメータを受け取ります。そして、受け取ったパラメータと一致する ContactType の値を持つ、すべての Contact インスタンスの Name 値を返します。このメソッドは、プロシージャにより返された ResultSet を繰り返し処理して、その値を表示します。


public class JDBCExamples {
   public static void printContactByType(String type)
   throws SQLException, ClassNotFoundException{
      Connection conn = JDBCExamples.createConnection();
      CallableStatement cs = conn.prepareCall
      ("{call JavaTutorial.Contact_RetrieveByContactType(?)}");
      cs.setString(1,type);
      ResultSet rs = cs.executeQuery();
      while (rs.next()){
         System.out.println(rs.getString(1));
      }
      rs.close();
   }
}

このメソッドでは、java.sql.Connection prepareCall を使用して、ストアド・プロシージャの実行に必要な java.sql.CallableStatement オブジェクトを生成しています。また、com.intersys.objects.Database は、java.sql.CallableStatement オブジェクトの生成にも使用できる prepareCall メソッドも提供します。

Note:

ストアド・プロシージャは、Caché クラス定義内のクラス・クエリとして定義することができます。ストアド・プロシージャとクラス・クエリの詳細は、"Caché オブジェクトの使用法" の "クラス・クエリ" と "Caché SQL の使用法" の "ストアド・プロシージャの定義と使用" を参照してください。

FeedbackOpens in a new tab