Executar Procedure em Java

Olá pessoal do forum, sou iniciante em programação e estou precisando da ajuda de vocês. Estou desenvolvendo uma aplicação web e preciso executar algumas procedures nesta aplicação. Mas nunca fiz e não faço idéia de como fazer.
Será que vocês poderiam me passar algum exemplo ?

Desde já agradeço a ajuda de todos.

Eu também não sabia!

Mas procurei no google e achei! :grin:

http://www.exampledepot.com/egs/java.sql/CallProcedure.html

Qual banco de dados que vc usa??
Eu fiz uma aplicação de teste usando procedures mas tive problemas na string de chamar a procedure dessa maneira String proc = “{call procedure}”;.

No firebird, q estou usando, consegui fazer assim:
String proc = “execute procedure nome_procedure”;

Se tiver parâmetros que vc deva passar:
String proc = “execute procedure nome_procedure(?)” ;

Se retornar alguma coisa:
String proc = “? = execute procedure nome_procedure” ;


Os objetos que vc precisa pra chamar a procedure é o seguinte:

Depois te ter feito a conexão:

CallableStatement st = conn.prepareCall(proc);

Se vc tiver parâmetros pra passar…
st.setString(1, “teste”); OBS: Existe um setXX pro tipo específico q vc procura. O “1” é o índice do ponto de interrogação. Se tiver mais do que um parâmetro é só seguir a ordem 2…3…4

Se tiver parâmetros pra receber, vc deve registrar ele:
st.registerOutParameter(1, Types.VARCHAR); OBS: vc deve especificar o tipo do retorno, Types.xxx tem vários tipos usados em banco de dados.

Qdo terminar de fazer isso…se a procedure ñ retornar nenhum ResultSet, vc usa o método: cs.execute()
para executar a procedure…

para resgatar os valores retornados pela procedure, use cs.getString(1);
OBS: exisite um getXX para outros tipos e o parâmetro q vc passa pode ser o índice ou o nome da variável de retorno…exemplo cs.getString(“nome”);

É isso…se tiver alguma dúvida…posta q agente tenta ajudar…
abraços