Hola a todos:
Trabajo con MySQL y ZEOS, y necesito un manual donde explique el ZStoredProc y los Trigger.
Desde ya muchas gracias

Manual de ZStoredProc
Started by
golf2009
, Feb 02 2010 05:26 PM
6 replies to this topic
#1
Posted 02 February 2010 - 05:26 PM
#2
Posted 02 February 2010 - 06:30 PM
Lamentablemente no hay documentación al respecto, pero, ¿qué necesitas hacer?, normalmente con un simple Query es más que suficiente para llamart tus procedimientos:
Saludos.
delphi
ZQuery.Close; ZQuery.SQL.Text := 'Call Nombre_proc(var1, var2)'; ZQuery.ExecSQL;
Saludos.
#3
Posted 03 February 2010 - 07:39 AM
Enecumene: gracias por tu respuesta, pero el procedimiento
Nombre_proc(var1, var2) que pones de ejemplo, en el servidor donde lo defino y cómo.
Además quisiera saber de tu experiencia, si realmente varía el tiempo de respuesta de las consultas usando store procedure.
Desde ya muchas gracias
Nombre_proc(var1, var2) que pones de ejemplo, en el servidor donde lo defino y cómo.
Además quisiera saber de tu experiencia, si realmente varía el tiempo de respuesta de las consultas usando store procedure.
Desde ya muchas gracias
#4
Posted 03 February 2010 - 08:15 AM
Hola Golf2009, Nombre_proc(var1, var2) es el nombre del procedimiento con sus parámetros ya sea de entrada o salida, por ejemplo:
que la llamarias de la siguiente forma:
Ahora, sobre el asunto del rendimiento, por lógica, al ser el servidor de BD el que lo maneja todo pues hasta cierto punto es mucho mejor, pero siempre dependerá de cómo construyas tus procedimientos.
Más información de cómo crear tus procedimientos aquí
Saludos.
sql
DELIMITER $$ CREATE PROCEDURE total_empleados(OUT total INT) //parámetro de salida BEGIN SELECT COUNT(*) INTO total FROM Empleados; END$$ DELIMITER ;
que la llamarias de la siguiente forma:
delphi
ZQuery.CLose; ZQuery.SQL.Text := 'call total_empleados('+total+')'; //total es una variable integer ZQuery.open; lbTotal.Caption := IntToStr(Total); //mostramos el total
Ahora, sobre el asunto del rendimiento, por lógica, al ser el servidor de BD el que lo maneja todo pues hasta cierto punto es mucho mejor, pero siempre dependerá de cómo construyas tus procedimientos.
Más información de cómo crear tus procedimientos aquí
Saludos.
#5
Posted 03 February 2010 - 08:22 AM
Nuevamente gracias por tu respuesta, pero el Código que va en el Servidor donde se define, en definitiva donde se graba donde va.
Saludos.
DELIMITER $$
CREATE PROCEDURE total_empleados(OUT total INT) //parámetro de salida
BEGIN
SELECT COUNT(*) INTO total FROM Empleados;
END
$$DELIMITER ;
Saludos.
DELIMITER $$
CREATE PROCEDURE total_empleados(OUT total INT) //parámetro de salida
BEGIN
SELECT COUNT(*) INTO total FROM Empleados;
END
$$DELIMITER ;
#6
Posted 03 February 2010 - 08:31 AM
Los procedimientos se guardan en una tabla de la BD llamado mysql.proc, es recomendable no modificarlos directamente, es mejor hacerlo desde la consola o algún manejador de BD para MySQL como MySQL Query Browser o similar. Espero eso te sea de utilidad.
Saludos.
Saludos.
#7
Posted 04 February 2010 - 01:07 PM
Gracias por tu respuesta:
Además te quería preguntar que versión de MySql usas, porque yo tengo la versión 4.1 y quiero instalar la 5.0 para trabajar con Stored Procedure pero me da error al querer instalar saliendo un mensaje que no puede iniciar el servicio de mysql ó error en el firewall personal.
Buscando por internet encontré varias versiones 5.1 , 5.1.43 , 5.5
Desde ya muchas gracias.
Además te quería preguntar que versión de MySql usas, porque yo tengo la versión 4.1 y quiero instalar la 5.0 para trabajar con Stored Procedure pero me da error al querer instalar saliendo un mensaje que no puede iniciar el servicio de mysql ó error en el firewall personal.
Buscando por internet encontré varias versiones 5.1 , 5.1.43 , 5.5
Desde ya muchas gracias.