J'utilise DatabaseMetaData pour obtenir des colonnes (lire les paramètres) d'une procédure stockée sur le serveur SQL:DatabaseMetaData getProcedureColumns ordre de noms de colonne de procédure stockée?
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();
}
-t-getProcedureColumns()
retourner les colonnes de la procédure d'une manière ordonnée? Signification si dans la base de données les paramètres de procédure stockée sont-abc(@a int,@b int,@c int)
, aurais-je toujours @a, @b and @c
d'une manière ordonnée?
Si oui, y a-t-il des documents pour suggérer la même chose?
En outre, le code source 'SQLServerDatabaseMetaData # getProcedureColumns' indique qu'il appelle la procédure stockée système SQL Server' sp_sproc_columns', dont [documentation] (https://docs.microsoft.com/en-us/sql/relational- database/system-stored-procedures/sp-sproc-columns-transact-sql) indique que "les résultats retournés sont classés par PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME, et l'ordre dans lequel les paramètres apparaissent dans la définition de la procédure." –