Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Procedures en MySQL

Abdón Carrera R.
Un procedimiento

•También llamado Stored Procedure

•Es una Subrutina – Subprograma que se


encuentra almacenado en una base de
datos.
Porque stored procedures?
Los stored procedures son rápidos
• Tareas repetitivas

Los Stored procedures son Portables

Separa la base de datos de la Logica e implementación del programa


Sintaxis

CREATE PROCEDURE procedure_name


*Codigo sql_statement*

;
create procedure sample()
begin
select * from actor;
end
Delimiter
• Por lo general el carácter que limita el final de
línea es el ;
Este valor puede cambiar por otro carácter
Ejemplo:

delimiter &&
Stored Procedures en MySQL
Con Parametros
IN _ OUT

•IN es el parámetro de entrada


•OUT es el parámetro de salida
IN
create procedure consulta(
in nombre varchar(150), in apellido varchar(100)
)
Los valores
de NOMBRE
y APELLIDO,
Parámetros de se pueden
Entrada usar como
VARIABLES
create procedure A(in nombre varchar(150),
in apellido varchar(100))
begin
select * from actor
where actor.nombre = nombre
and actor.apellidos =apellido;
end
call A("jennifer","davis")
OUT

create procedure consulta(OUT valor int)

Parámetro de Salida
create procedure total(OUT valor integer)
begin
select count(*) into valor
from actor;
end
call total(); ERROR

call total(@valor); OK
Stored procedures en JAVA
String query = "{ call get_candidate_skill(?) }";
ResultSet rs;

try (Connection conn = MySQLJDBCUtil.getConnection();


CallableStatement stmt = conn.prepareCall(query)) {

stmt.setInt(1, candidateId);

rs = stmt.executeQuery();
String sql = "{call PRODUCT_PROC(?,?,?)}";
CallableStatement stmt=conn.prepareCall(sql);
//Set IN parameter
stmt.setInt(1, 1);
//Set OUT parameter
stmt.registerOutParameter(2, Types.VARCHAR);

//Set INOUT parameter


stmt.setDouble(3, 15.15);
stmt.registerOutParameter(3, Types.DOUBLE);
//Execute stored procedure stmt.execute();
Triggers en MySQL
Abdón Carrera R.

You might also like