getProcedureColumns 方法 (SQLServerDatabaseMetaData)

下載 JDBC 驅動程式

擷取預存程序參數和結果資料行的描述。

語法

  
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

包含程序名稱模式的字串

col

包含資料表名稱模式的 String。 提供 null 給這個參數,將針對每個資料行傳回資料列。

傳回值

SQLServerResultSet 物件。

例外狀況

SQLServerException

備註

此 getProcedureColumns 方法是由 java.sql.DatabaseMetaData 介面中的 getProcedureColumns 方法所指定。

透過 getProcedureColumns 方法所傳回的結果集將包含下列資訊:

名稱 類型 Description
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 smallint 來自 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 smallint 除了 datetimeISO interval 資料類型,這個資料行與 DATA_TYPE 資料行相同。
SQL_DATETIME_SUB smallint datetime ISO interval 子代碼 (如果 SQL_DATA_TYPE 的值是 SQL_DATETIMESQL_INTERVAL)。 針對 datetime 和 ISO interval 以外的資料類型,這個資料行會是 NULL。
CHAR_OCTET_LENGTH int 資料行中的最大位元組數。
ORDINAL_POSITION int 資料表內資料行的索引。
IS_NULLABLE String 指出資料行是否允許為 Null 值。
SS_TYPE_CATALOG_NAME String 包含使用者定義型別 (UDT) 的目錄名稱。
SS_TYPE_SCHEMA_NAME String 包含使用者定義型別 (UDT) 的結構描述名稱。
SS_UDT_CATALOG_NAME String 完整名稱的使用者定義型別 (UDT)。
SS_UDT_SCHEMA_NAME String 定義 XML 結構描述集合名稱所在目錄的名稱。 如果找不到目錄名稱,則此變數包含空字串。
SS_UDT_ASSEMBLY_TYPE_NAME String 定義 XML 結構描述集合名稱所在結構描述的名稱。 如果找不到結構描述名稱,這就是空字串。
SS_XML_SCHEMACOLLECTION_CATALOG_NAME String XML 結構描述集合的名稱。 如果找不到該名稱,這就是空字串。
SS_XML_SCHEMACOLLECTION_SCHEMA_NAME String 包含使用者定義型別 (UDT) 的目錄名稱。
SS_XML_SCHEMACOLLECTION_NAME String 包含使用者定義型別 (UDT) 的結構描述名稱。
SS_DATA_TYPE tinyint 擴充預存程序所使用的 SQL Server 資料類型。



注意:如需 SQL Server 傳回之資料類型的詳細資訊,請參閱 SQL Server 線上叢書中的「資料類型 (Transact-SQL)」。

注意

如需由 getProcedureColumns 方法所傳回之資料的詳細資訊,請參閱 SQL Server 線上叢書中的 "sp_sproc_columns (Transact-SQL)"。

範例

下列範例示範如何使用 getProcedureColumns 方法來傳回 AdventureWorks2022 範例資料庫中 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 類別