miércoles, 4 de junio de 2008

Procedimiento almacenado desde JDBC

No vamos a explicar el potencial que tienen los procedimientos
almacenados , solamente mencionaremos que desde JDBC
podemos crear y llamar a ellos , en el siguiente ejemplo vamos
a trabajar con la siguiente base de dato

que ocupa el lenguaje plpgsql;

Desarrollo:

1.- primero tenemos que cargamos el jar de prostgres en nuestro
proyecto de netbeans .

2.- cargar nuestro procedimiento almacenado en la base de dato ,
para lo cual abrimos nuestra base de datos y lo ejecutamos.
---------- Procedimiento almacenado ------------------------

CREATE or replace FUNCTION estafunc()
RETURNS INTEGER AS '

DECLARE
cantidad INTEGER := 30;
i integer := 1;
BEGIN
while (i <= 30) loop
RAISE NOTICE ''Cantidad contiene aqui³ %'',i;
i := i + 1;
end loop;

cantidad := 50;
RETURN cantidad;
END;' LANGUAGE 'plpgsql';
-------------------------------------------------------------
3.- lo llamamos desde nuestro codigo

try{
Class.forName("org.postgresql.Driver");

Connection con =
DriverManager.getConnection(
"jdbc:postgresql://localhost/eliminar", "postgres", "1234");

CallableStatement cs = con.prepareCall("{call estafunc()}");
ResultSet rs = cs.executeQuery();

if(rs.next()){
System.out.println("valor"+rs.getInt(1));
}

}catch(Exception e){
System.out.println("fallo conexion ");
e.printStackTrace();
}
//////////////////////////////////////////////////
lo importante del codigo es
CallableStatement: que es para ejecutar procedimientos
almacenados en la BD.
Para mayor informacion existen unos link interesantes



3 comentarios:

JSOG dijo...

muchas gracias por la explicacion...
saludos

Anónimo dijo...

Como puedo llamar una funcion que retorna un record de un select me da un error de que se requieren especificaciones de las columnas devueltas

Anónimo dijo...

perro maldito te voy arrancar el puto corazon