次の方法で共有


パラメーターのないストアド プロシージャの使用

JDBC ドライバーのダウンロード

呼び出すことができる最も簡単な種類の SQL Server ストアド プロシージャは、パラメーターを含まず、1 つの結果セットを返すものです。 Microsoft JDBC Driver for SQL Server が提供する SQLServerStatement クラスを使用すると、この種類のストアド プロシージャを呼び出し、返されるデータを処理できます。

JDBC ドライバーを使用してパラメーターのないストアド プロシージャを呼び出すときは、call SQL エスケープ シーケンスを使用する必要があります。 パラメーターを持たない call エスケープ シーケンスの構文は次のとおりです。

{call procedure-name}

注意

SQL エスケープ シーケンスの詳細については、「SQL エスケープ シーケンスの使用」を参照してください。

例として、AdventureWorks2022 サンプル データベースで次のストアド プロシージャを作成します。

CREATE PROCEDURE GetContactFormalNames
AS  
BEGIN  
   SELECT TOP 10 Title + ' ' + FirstName + ' ' + LastName AS FormalName
   FROM Person.Contact  
END  

このストアド プロシージャは、1 つのデータ列を含む 1 つの結果セットを返します。このデータは、Person.Contact テーブル内の先頭から 10 件の連絡先の役職、名、および姓の組み合わせです。

次の例の関数は、AdventureWorks2022 サンプル データベースに対して開かれた接続を渡され、executeQuery メソッドを使って GetContactFormalNames ストアド プロシージャを呼び出します。

public static void executeSprocNoParams(Connection con) throws SQLException {  
    try(Statement stmt = con.createStatement();) {  

        ResultSet rs = stmt.executeQuery("{call dbo.GetContactFormalNames}");  
        while (rs.next()) {  
            System.out.println(rs.getString("FormalName"));  
        }  
    }  
}

関連項目

ストアド プロシージャでのステートメントの使用