PDA

Ver la Versión Completa : Que hago, no se como hacerlo en MySql


pgraciap
07-10-2005, 22:02:49
Hola a todos(as), estoy utilizando actualmente Delphi 7 con los componentes de Zeos
y Tengo instalada la version 4.1.15 de MySql.

Bueno el caso es este.

Tengo tres tablas con los siguientes campos.

* Tabla [Polizas] = PolID, Poliza, FechaFin.

* Tabla [CambioPoliza] = CamPolID, PolAnt, PolNue, FecFinAnt, FecFinNue, FecCam.

* Tabla [CntrlPol] = CntrlPol, PolNum.


Actualmente el proceso que hago esta en un programita que esta fuera del
programa principal, que hace lo siguiente.

1.- Por medio de un Query de SQL checa las poliza vencidas un dia anterior,
y si encuentra una le cambia la poliza a otro numero de poliza.

2.- Al hacer el cambio este afecta a las tres tablas, es decir:
2.1.- Checa en control el numero sonsecutivo y lo incrementa.
2.2.- Adiciona en CambioPoliza Todos los campos.
2.3.- Cambia en Poliza sus datos a los nuevos.

En la practica hace esto:

La Script sql arroja los siguientes datos

Poliza FechaFin
F-14521 06/10/2005
F-75948 06/10/2005

* Tabla [CntrlPol] = CntrlPol, PolNum.
-Aqui Cambia PolNum+1

* Tabla [CambioPoliza] = CamPolID, PolAnt, PolNue, FecFinAnt, FecFinNue, FecCam.
-Aqui Adiciona todos los datos que tenemos:
PolAnt:= F14521, PolNue:= F:= 'F-'+PolNum, FecFinAnt:= 06/10/2005,
FechFinNue:= 07/10/2005 FecCam:= 07/10/2005

* Tabla [Polizas] = PolID, Poliza, FechaFin.
-Aqui Cambia:
Poliza F-14521 por F-PolNum
FechaFin 06/10/2005 por 07/10/2005


y esto lo quiero pasar al MySQL pero no se como hacerlo ni como estructurarlo esto es para desaparecer el programa adicional y que el servidor solo lo haga, alguien sabe como hacerlo o que me diga donde
puedo encontar esta informacion, de antemano les doy las gracias.

Saludos a todos......

rvasquez21
07-10-2005, 23:11:54
En que motor de base de datos estas trabajando, existe una herramienta chulisima si es en Access que estas trabajando que se llama ms access to mysql que te importa de los mas apero. sino mysql-front y solo tienes que trabajar con un ADOQuery y presto

Att.
Rvasquez21

pgraciap
10-10-2005, 17:29:52
Rvasquez21, gracias por la sugerencia.
pero lo que me indicas de trasladar los datos de access a mysql
ya lo hice.

El problema es que tengo dos programas.

uno es el maestro osea el sistema y el otro solo lo uso para
poder hacer cambios de una sola seleccion que cumplen
con los parametros de Query.

Y lo que pretendo es presisamente desaparecer el segundo
programa y que lo que este hace lo haga el servidor de MySql.

pero por desgracia no tengo la menor idea de como o con que se hace esto.
espero poder haber sido un poco mas especifico.... :D

lucasarts_18
11-10-2005, 19:59:01
Hola:

Para hacer eso debes usar Procedimientos almacenados que se encuantran disponibles en MySQL 5.0 pero aún esta versión está en prueba..:(

pgraciap
11-10-2005, 21:54:14
lucasarts_18: Que son los porcedimientos almacenados y como se usan o programan??? ha por cierto esta funcion estara en la version 4.1.15 de MySql. por que es la que estoy usando????

Saludos y gracias por tu respuesta... :D

lucasarts_18
11-10-2005, 22:06:54
lucasarts_18: Que son los porcedimientos almacenados y como se usan o programan??? ha por cierto esta funcion estara en la version 4.1.15 de MySql. por que es la que estoy usando????


Los Procedimientos almacenados (Stored Procedure en Inglés) son procedimientos similares a cualquier lenguaje de porgramación, la diferencia es que la carga la lleva el servidor de BD en ves del cliente, se usa mucho para procesos complejos, para liberar carga a los clientes o bien para centralizar algunas tareas.
Lamentablemente no están disponibles en la versión que mencionas tú.

pgraciap
13-10-2005, 17:36:31
lucasarts_18: gracias por tus comentarios tienes alguna otra alternativa que puedas usar???

lucasarts_18
14-10-2005, 00:18:59
Hola:

Podrías probar la versión 5 de MySQL, sino me equivoco, tengo entendido que la programación de los SP está lista para usarse en esta versión, lo otro sería migrar a firebird..

Yo que tú lo haría, no pierdes nada y comienzas a aprender a usar procedimientos almacenados que yo por ciertos los conozco en SQL Server y algo en Oracle..Adelante no pierdes nada..:)