Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Une procédure stockée SQL Server que vous pouvez appeler est une procédure contenant un ou plusieurs paramètres IN, qui sont des paramètres pouvant servir à transmettre des données dans la procédure stockée. Le pilote JDBC Microsoft pour SQL Server fournit la classe SQLServerPreparedStatement que vous pouvez utiliser pour appeler ce type de procédure stockée et traiter les données retournées.
Quand vous utilisez le pilote JDBC pour appeler une procédure stockée avec des paramètres IN, vous devez utiliser la séquence d’échappement SQL call conjointement avec la méthode prepareCall de la classe SQLServerConnection. La syntaxe de la séquence d’échappement call avec les paramètres IN est la suivante :
{call procedure-name[([parameter][,[parameter]]...)]}
Notes
Pour plus d’informations sur les séquences d’échappement SQL, consultez Utiliser des séquences d’échappement SQL.
Lorsque vous construisez la séquence call d’échappement, spécifiez les paramètres IN à l’aide du caractère ? (point d’interrogation). Ce caractère sert de espace réservé pour les valeurs de paramètre passées dans la procédure stockée. Pour spécifier une valeur pour un paramètre, vous pouvez utiliser l'une des méthodes de définition de la classe SQLServerPreparedStatement. Le type de données du paramètre IN détermine la méthode setter que vous pouvez utiliser.
Lorsque vous passez une valeur à la méthode setter, vous devez spécifier non seulement la valeur réelle utilisée dans le paramètre, mais également le placement ordinal du paramètre dans la procédure stockée. Par exemple, si votre procédure stockée contient un paramètre IN unique, sa valeur ordinale est 1. Si la procédure stockée contient deux paramètres, la première valeur ordinale est 1 et la deuxième valeur ordinale est 2.
Par exemple, pour appeler une procédure stockée qui contient un paramètre IN, utilisez la procédure stockée uspGetEmployeeManagers dans l’exemple de base de données AdventureWorks2025. Cette procédure stockée n'accepte qu'un seul paramètre d'entrée nommé EmployeeID, qui est une valeur entière, et retourne une liste récursive d'employés et de leurs directeurs basée sur la valeur EmployeeID spécifiée. Le code Java pour l'appel de cette procédure stockée est le suivant :
public static void executeSprocInParams(Connection con) throws SQLException {
try(PreparedStatement pstmt = con.prepareStatement("{call dbo.uspGetEmployeeManagers(?)}"); ) {
pstmt.setInt(1, 50);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println("EMPLOYEE:");
System.out.println(rs.getString("LastName") + ", " + rs.getString("FirstName"));
System.out.println("MANAGER:");
System.out.println(rs.getString("ManagerLastName") + ", " + rs.getString("ManagerFirstName"));
System.out.println();
}
}
}
Voir aussi
Utilisation d’instructions avec des procédures stockées- Performances des paramètres d’instruction préparées