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

Error #1064 Mysql

Estas en el tema de Error #1064 Mysql en el foro de Mysql en Foros del Web. Hola Gente, tengo el famoso error de 1064 de sintaxis, pero no lo encuentro, he probado varias formas de hacer el trigger en mysql y ...
  #1 (permalink)  
Antiguo 14/07/2012, 09:21
 
Fecha de Ingreso: julio-2012
Mensajes: 2
Antigüedad: 11 años, 9 meses
Puntos: 0
De acuerdo Error #1064 Mysql

Hola Gente, tengo el famoso error de 1064 de sintaxis, pero no lo encuentro, he probado varias formas de hacer el trigger en mysql y no he podido aun por el mismo error, he visto varios ejemplos pero aun asì sigue el mismo error,

Gratitudes a los que me puedan ayudar.

codigo

Cita:
create trigger tr_estmembresia
on membresia
for update
as
if update(logusuario)
begin
update socio as a
inner join membresia as b on a.cedula = b.socio and b.fechafin <=curdate()
set a.estado =0;
end
  #2 (permalink)  
Antiguo 14/07/2012, 12:13
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, 5 meses
Puntos: 2658
Respuesta: Error #1064 Mysql

Un IF no puede estar fuera del bloque BEGIN/END, pero tampoco puede estar sin el THEN ni el END IF.
Fuera de eso, todo el script está mal hecho, posiblemente porque estás confundiendo a MySQL ocn Oracle.
Ten en cuenta que el PL/SQL no está estandarizado, y los diferentes DBMS le ponen la estructura y sintaxis que se les ocurre.
Sería mas o menos así:
Código MySQL:
Ver original
  1. CREATE TRIGGER tr_estmembresia BEFORE  UPDATE ON membresia
  2.     UPDATE socio
  3.     SET estado =0
  4.     WHERE cedula = NEW.socio AND fechafin <=CURDATE();

Leer: CREATE TRIGGER
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 14/07/2012, 12:57
 
Fecha de Ingreso: julio-2012
Mensajes: 2
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Error #1064 Mysql

Gracias, estás en todas! :)

Etiquetas: #1064, errores, mysql.php, trigger
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 13:19.