Como usar um procedimento armazenado sem parâmetros
O tipo mais simples de procedimento armazenado do SQL Server que é possível chamar é aquele que não contém parâmetros e retorna um único conjunto de resultados. O Microsoft JDBC Driver para SQL Server fornece a classe SQLServerStatement que pode ser usada para chamar esse tipo de procedimento armazenado e processar os dados que ele retorna.
Ao usar o driver JDBC para chamar um procedimento armazenado sem parâmetros, você deve usar a sequência de escape SQL call
. A sintaxe da sequência de escape call
sem parâmetros é a seguinte:
{call procedure-name}
Observação
Para obter mais informações sobre as sequências de escape SQL, confira Como usar sequências de escape do SQL.
Como exemplo, crie o seguinte procedimento armazenado no banco de dados de exemplo AdventureWorks2022:
CREATE PROCEDURE GetContactFormalNames
AS
BEGIN
SELECT TOP 10 Title + ' ' + FirstName + ' ' + LastName AS FormalName
FROM Person.Contact
END
Esse procedimento armazenado retorna um único conjunto de resultados que contém uma coluna de dados, uma combinação do título, do nome e do sobrenome dos 10 primeiros contatos presentes na tabela Person.Contact.
No exemplo a seguir, uma conexão aberta com o banco de dados de exemplo AdventureWorks2022 é passada para a função, e o método executeQuery é usado para chamar o procedimento armazenado GetContactFormalNames.
public static void executeSprocNoParams(Connection con) throws SQLException {
try(Statement stmt = con.createStatement();) {
ResultSet rs = stmt.executeQuery("{call dbo.GetContactFormalNames}");
while (rs.next()) {
System.out.println(rs.getString("FormalName"));
}
}
}