Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Procedimientos almacenados en mysql

Estas en el tema de Procedimientos almacenados en mysql en el foro de Mysql en Foros del Web. Hola: Tengo parte de un script en sqlsrever que me gustaría pasar a mysql: alter proc prueba as set nocount on ...... y la llamada ...
  #1 (permalink)  
Antiguo 31/05/2013, 09:58
 
Fecha de Ingreso: mayo-2013
Mensajes: 16
Antigüedad: 10 años, 11 meses
Puntos: 0
Procedimientos almacenados en mysql

Hola:

Tengo parte de un script en sqlsrever que me gustaría pasar a mysql:

alter proc prueba

as set nocount on
......

y la llamada al procedimiento es:

exec prueba

¿Cómo se debe hacer el procedimiento almacenado y su llamada en mysql?.

Muchísimas gracias por vuestra ayuda
  #2 (permalink)  
Antiguo 31/05/2013, 10:12
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Procedimientos almacenados en mysql

Hola rolapa65:

Checa esta liga, creo que te será de mucha ayuda

http://lmgtfy.com/?q=procedimientos+almacenados+mysql

Saludos
Leo.
  #3 (permalink)  
Antiguo 31/05/2013, 10:26
 
Fecha de Ingreso: mayo-2013
Mensajes: 16
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Procedimientos almacenados en mysql

Hola Leo:

En google ya busqué e intente pasarla a mysql de esta forma:

alter procedure prueba


set nocount on (en el workbench me sale error de sintaxis en esta fila)


y después llamo al procedimiento así:

call prueba;

¿Dónde está el error?

Muchas gracias
  #4 (permalink)  
Antiguo 31/05/2013, 10:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Procedimientos almacenados en mysql

Cita:
¿Dónde está el error?
En que no existe un lenguaje procedural estandarizado en SQL. Cada DBMS hace lo que quiere con el suyo, como lo hace con las funciones bullit-in, en las cuales salvo excepciones no hay tampoco un estandar.
Por lo pronto, postea el código completo de lo que quieres migrar para ver qué hay estandarizado.
Una nota inicial: No se usan los "@" en los parámetros de los SP de MySQL. Las variables locales carecen de prefijo, y cuando usas "@" estás en realidad accediendo a otras distintas, denominadas "variables de usuario o de conexión", cuyo valor inicial es NULL y no tienen tipo de dato.

Postea lo que tienes y veremos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 31/05/2013, 11:31
 
Fecha de Ingreso: mayo-2013
Mensajes: 16
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Procedimientos almacenados en mysql

Hola:

Esta es la parte del código donde me da error:

alter procedure prueba;
SELECT ROW_COUNT();
truncate table Resumen;
insert Resumen (Idcli)
select E.Idcli,
NC = count(Idcli),
from Estudio E inner join ventas P on E.Idcli = P.Idcli
group by E.idcli
while exists (select top 1 ciudad from Resumen where CP = 1200) (En este while me da error en el workbench:
sintax error, unexpected WHILE_SYM, EXPECTING END_OF_INPUT or ';')



¿A que puede ser debido?

Muchisimas gracias
  #6 (permalink)  
Antiguo 31/05/2013, 11:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Procedimientos almacenados en mysql

Postea todo el codigo.
Si no vemos el conjunto no podemos ver claramente si está bien escrito, en especial cuando estás hablando de WHILE o iteradores de ese tipo...
Además tienen enormes errores hasta lo que alcanzo a ver. No sólo en ese punto.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 31/05/2013, 12:16
 
Fecha de Ingreso: mayo-2013
Mensajes: 16
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Procedimientos almacenados en mysql

Hola gnzsoloyo:

No puedo postear todo el código, ya que estoy intentando adaptarlo para una persona que lo necesita para su negocio y no me permite que lo postee, al menos en su totalidad.

He ejecutado parcialmente hasta la línea de código inmediatamente superior a lo que he posteado y funciona correctamente (otra cosa es que se pueda mejorar, que seguro que si).

El fallo como comento, debe estar a partir de lo que he posteado.

¿Os serviría si posteo solo la parte del procedimiento?, es por comentarlo con dicha persona.

De todas formas agradezco vuestra ayuda muchísimo.

Un saludo

Etiquetas: procedimientos, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:32.