Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um procedimento armazenado do SQL Server que você pode chamar é aquele que contém um ou mais parâmetros IN, que são usados para passar dados para o procedimento. O Microsoft JDBC Driver para SQL Server fornece a classe SQLServerPreparedStatement , que pode usar para chamar este tipo de procedimento armazenado e processar os dados que devolve.
Quando usa o driver JDBC para chamar um procedimento armazenado com parâmetros IN, deve usar a call sequência de escape SQL juntamente com o método prepareCall da classe SQLServerConnection . A sintaxe da call sequência de escape com parâmetros IN é a seguinte:
{call procedure-name[([parameter][,[parameter]]...)]}
Observação
Para mais informações sobre as sequências de escape SQL, consulte Utilização de sequências de escape SQL.
Ao construir a call sequência de escape, especifique os parâmetros IN usando o ? carácter (ponto de interrogação). Este carácter atua como um marcador de posição para os valores dos parâmetros passados no procedimento armazenado. Para especificar um valor para um parâmetro, pode usar um dos métodos setter da classe SQLServerPreparedStatement. O tipo de dado do parâmetro IN determina o método setter que podes usar.
Quando passa um valor ao método do setter, deve especificar não só o valor real usado no parâmetro, mas também a colocação ordinal do parâmetro no procedimento armazenado. Por exemplo, se o seu procedimento armazenado contém um único parâmetro IN, o seu valor ordinal é 1. Se o procedimento armazenado contiver dois parâmetros, o primeiro valor ordinal é 1 e o segundo valor ordinal é 2.
Como exemplo de como chamar um procedimento armazenado que contém um parâmetro IN, utilize o procedimento armazenado uspGetEmployeeManagers na base de dados de exemplo AdventureWorks2025. Este procedimento armazenado aceita um único parâmetro de entrada chamado EmployeeID, que é um valor inteiro, e devolve uma lista recursiva de colaboradores e seus gestores com base no EmployeeID especificado. O código Java para chamar este procedimento armazenado é o seguinte:
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();
}
}
}
Consulte também
Utilização de instruções com procedimentos armazenadosDesempenho do parâmetro de instrução preparada