次の方法で共有


getProcedureColumns メソッド (SQLServerDatabaseMetaData)

ストアド プロシージャのパラメーターと結果列の記述を取得します。

public java.sql.ResultSet getProcedureColumns(java.lang.String sCatalog,
java.lang.String sSchema,
java.lang.String proc,
java.lang.String col)

パラメーター

sCatalog

カタログ名を含む String です。このパラメーターに null を指定すると、カタログ名を使用する必要はありません。

sSchema

スキーマ名のパターンを含む String です。このパラメーターに null を指定すると、スキーマ名を使用する必要はありません。

proc

プロシージャ名のパターンを含む String です。

col

列名のパターンを含む String です。このパラメーターに null を指定すると、各列の行が返されます。

戻り値

SQLServerResultSet オブジェクトです。

例外

SQLServerException

解説

getProcedureColumns メソッドは、java.sql.DatabaseMetaData インターフェイスの getProcedureColumns メソッドで規定されています。

getProcedureColumns メソッドによって返される結果セットには、次の情報が含まれます。

名前 種類 説明

PROCEDURE_CAT

String

指定したストアド プロシージャが存在するデータベースの名前です。

PROCEDURE_SCHEM

String

ストアド プロシージャのスキーマです。

PROCEDURE_NAME

String

ストアド プロシージャの名前です。

COLUMN_NAME

String

列の名前です。

COLUMN_TYPE

short

列の種類です。次のいずれかの値を指定します。

procedureColumnUnknown (0)

procedureColumnIn (1)

procedureColumnInOut (2)

procedureColumnOut (4)

procedureColumnReturn (5)

procedureColumnResult (3)

DATA_TYPE

short

java.sql.Types の SQL データ型です。

TYPE_NAME

String

データ型の名前です。

PRECISION

int

有効桁数です。

LENGTH

int

データの長さです (バイト)。

SCALE

short

小数点以下の桁数です。

RADIX

short

数値型の基数です。

NULLABLE

short

列に null 値を含めることができるかどうかを示します。次のいずれかの値を指定します。

procedureNoNulls (0)

procedureNullable (1)

procedureNullableUnknown (2)

REMARKS

String

プロシージャ列の記述です。

注メモ :
SQL Server では、この列の値は返されません。

COLUMN_DEF

String

列の既定値です。

SQL_DATA_TYPE

short

この列は、datetime および ISO interval データ型を除き、DATA_TYPE 列と同じです。

SQL_DATETIME_SUB

short

SQL_DATA_TYPE の値が SQL_DATETIME または SQL_INTERVAL の場合は、datetime または ISO interval サブコードになります。datetime と ISO interval 以外のデータ型の場合、この列は NULL です。

CHAR_OCTET_LENGTH

int

列の最大バイト数です。

ORDINAL_POSITION

int

テーブル内の列のインデックスです。

IS_NULLABLE

String

列で null 値が許容されるかどうかを示します。

SS_DATA_TYPE

short

拡張ストアド プロシージャによって使用される SQL Server データ型です。

注メモ :
SQL Server によって返されるデータ型の詳細については、SQL Server オンライン ブックの「データ型 (Transact-SQL)」を参照してください。
注メモ :

getProcedureColumns メソッドによって返されるデータの詳細については、SQL Server オンライン ブックの「sp_sproc_columns (Transact-SQL)」を参照してください。

次の例では、SQL Server 2005 AdventureWorks サンプル データベースで、getProcedureColumns メソッドを使用して uspGetBillOfMaterials ストアド プロシージャに関する情報を返す方法を示します。

public static void executeGetProcedureColumns(Connection con) {
   try {
      DatabaseMetaData dbmd = con.getMetaData();
      ResultSet rs = dbmd.getProcedureColumns(null, null, "uspGetBillOfMaterials", null);
      ResultSetMetaData rsmd = rs.getMetaData();

      // Display the result set data.
      int cols = rsmd.getColumnCount();
      while(rs.next()) {
         for (int i = 1; i <= cols; i++) {
            System.out.println(rs.getString(i));
         }
      }
      rs.close();
   } 

   catch (Exception e) {
      e.printStackTrace();
   }
}

参照

関連項目

SQLServerDatabaseMetaData クラス

概念

SQLServerDatabaseMetaData のメソッド
SQLServerDatabaseMetaData のメンバー