Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Java / Procedimientos Almacenados: Parámetros OUT

Procedimientos Almacenados: Parámetros OUT

Autor jc mouse lunes, mayo 13, 2019

En un post anterior conocimos que es y como funciona un parámetro de entrada IN en procedimientos almacenados y lenguaje java. En este post continuamos con los parámetros de salida OUT.

Utilizaremos la misma base de datos y servidor XAMPP del post anterior (Parametros IN), así también para no repetir lo mismo, se recomienda leer también el apartado de creación, edición y ejecución de procedimientos almacenados desde phpmyadmin.

Parámetros OUT

Una parámetro de salida OUT se usa para pasar información del procedimiento al programa de llamada. Es una variable de solo escritura y no tiene valor hasta que el bloque le asigna un valor.  Una variable pasada en el modo OUT no se le puede asignar un valor predeterminado, tampoco puede ser leído dentro del procedimiento.

El ejemplo para este post sera trivial, consistirá en obtener la cantidad de empleados retornando el total en un parámetro OUT.

Nuestro procedimiento es el siguiente:

OUT parameter

donde:

  1. Nombre de la rutina: cantidadEmpleados
  2. Tipo: PROCEDURE
  3. Dirección: OUT (salida)
  4. Nombre del parámetro: total
  5. Tipo: INT
  6. Código SQL: Se utiliza la palabra reservada INTO para asignar el valor obtenido al parámetro OUT

Ejecuta el procedimiento desde phpMyAdmin

totallity

Código Java

El código para llamar al procedimiento almacenado con parámetro OUT desde java es:

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Types;
/**
 * @see https://www.jc-mouse.net/
 * @author mouse
 */
public class Main {

    public static void main(String[] args) {
        Connection connection = conectar("jdbc:mariadb://localhost:3306/TutorialJava", "root", "");
        if (connection != null) {

            try {                
                
                System.out.println("> Se prepara llamada a procedimiento almacenado");
                CallableStatement stmt = connection.prepareCall("{CALL cantidadEmpleados(?)}");
                //ingresando parametro OUT de tipo INT
                stmt.registerOutParameter(1, Types.INTEGER);
                                                
                System.out.println("> Ejecutando procedimiento");
                stmt.execute();
                System.out.println("> Ejecucion terminada");

                //Se obtiene el valor devuelto por el procedimiento
                int valor = stmt.getInt(1);
                System.out.println("\n   Cantidad de empleados: " + valor);
                
            } catch (SQLException ex) {
                System.err.println(ex.getMessage());
            }
        }
    }
    
      public static Connection conectar(String url, String user, String pass) {
        try {
            Connection connection = DriverManager.getConnection(url, user, pass);
            System.out.println("> Conectado a la base de datos");
            return connection;
        } catch (SQLException ex) {
            System.err.println(ex.getMessage());
        }
        return null;
    }
      
}

Ejecutando obtenemos:

son by four

enjoy!

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Como hacer una factura en Java (Proyecto)

Como hacer una factura en Java (Proyecto)

Tiempo atras me pidieron un ejemplo de como realizar un reporte con iReport tipo factura, recibo o como le llamen, compl...

Configura tu smartphone y PC para testear aplicaciones

Configura tu smartphone y PC para testear aplicaciones

Cuando desarrollamos aplicaciones para android como programadores nos interesa la velocidad al tiempo de depurar el códi...

Tink biblioteca criptográfica de Google

Tink biblioteca criptográfica de Google

Tink es una biblioteca de cifrado desarrollada por un grupo de criptógrafos e ingenieros de seguridad de Google lanzado...

Shapes y evento click de jquery

Shapes y evento click de jquery

En este tutorial crearemos shapes en tiempo de ejecución y ademas les daremos un poco de movimiento. Para realizar corre...

Envío de correo con JavaMail/Netbeans

Envío de correo con JavaMail/Netbeans

JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. JavaMail implementa el...

Efecto Taringa! en vivo

Efecto Taringa! en vivo

En la pagina de Taringa, existe una sección donde se puede ver lo que pasa en ese foro al momento, «Taringa! en vivo» se...

Comparte lo que sabes

Categorias

Últimas entradas

Existe una gran cantidad de contenido sobre productividad, trucos, consejos y trabajo y más. Pero, ¿Qué pasa con esos mo...

En este post te enseño a usar una herramienta de Inteligencia Artificial para animar tus fotografias y esto completament...

Si trabajas con redes sociales (RRSS) a continuación te muestro tres herramintas gratuitas que te ayudaran a la hora de...

Por lo general se usan transacciones a nivel base de datos y posteriormente se llaman estos a través de procedimientos a...

Herramientas

Generador de Enlaces a Whatsapp