Connection connection = getConnection(); //getting the connection -
DatabaseMetaData dbMetaData = connection.getMetaData();
HashMap<String, Integer> paramInfo = new HashMap<String, Integer>();
if (dbMetaData != null){
ResultSet rs = dbMetaData.getProcedureColumns (null, null, sp_name.toUpperCase(), "%");
while (rs.next())
paramInfo.put(rs.getString(4), rs.getInt(6));
rs.close();
}
는 주문 방식으로 프로 시저 열을 반환 getProcedureColumns()
합니까? 데이터베이스에서 저장 프로 시저 매개 변수가 abc(@a int,@b int,@c int)
인 경우, 나는 항상 @a, @b and @c
을 순서대로 사용합니까?
예인 경우 동일한 제안을하는 문서가 있습니까?
또한 SQLServerDatabaseMetaData # getProcedureColumns 소스 코드는 SQL Server 시스템 저장 프로 시저'sp_sproc_columns'를 호출하는 것으로 밝혀졌습니다.이 프로 시저의 [documentation] (https://docs.microsoft.com/en-us/sql/relational- 데이터베이스/시스템 저장 프로 시저/sp-sproc-columns-transact-sql)는 "반환 된 결과는 PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME 및 프로 시저 정의에 매개 변수가 나타나는 순서에 따라 정렬됩니다." –