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

[SOLUCIONADO] problemas con un trigger

Estas en el tema de problemas con un trigger en el foro de Mysql en Foros del Web. buenos días estoy creando un trigger en el manejador de base de datos navicat premium 10.0 y me está dando este error sql error 1064 ...
  #1 (permalink)  
Antiguo 16/10/2013, 10:25
 
Fecha de Ingreso: octubre-2013
Mensajes: 6
Antigüedad: 10 años, 6 meses
Puntos: 0
problemas con un trigger

buenos días estoy creando un trigger en el manejador de base de datos navicat premium 10.0 y me está dando este error

sql error 1064 you have an error in your sql syntax check the manual that corresponds to your MySQL server version for the right syntax to use near


DECLARE @id INT, @nom1 VARCHAR(50), @ape1 VARCHAR(50)
DECLARE @nom2 VARCHAR(50), @ape2 VARCHAR(50)

SELECT @id=id, @nom1=hombre, @ape1=apellido FROM DELETED
SELECT @nom2=hombre, @ape2=apellido FROM INSERTED

INSERT INTO lio2 VALUES(@id, @nom1, @ape1, @nom2,@ape2, CURRENT_TIMESTAMP)
END
  #2 (permalink)  
Antiguo 16/10/2013, 10:45
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: problemas con un trigger

AL menos tres errores:
1) Las variables con "@" no se declaran. Son variables de sesión y se usan sin declarar, pero se deben inicializar.
2) Las variables locales no tienen "@".
3) FROM INSERTED no existe en MySQL.

¿Estás seguro de no estar posteando en el foro equivocado?
__________________
¿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 16/10/2013, 10:46
 
Fecha de Ingreso: octubre-2013
Mensajes: 6
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: problemas con un trigger

pero yo le quite el @ y me da el misno error
  #4 (permalink)  
Antiguo 16/10/2013, 10:50
 
Fecha de Ingreso: octubre-2013
Mensajes: 6
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: problemas con un trigger

DECLARE id INT, nom1 VARCHAR(50), ape1 VARCHAR(50)
DECLARE nom2 VARCHAR(50), ape2 VARCHAR(50)

SELECT id=id, nom1=hombre, ape1=apellido FROM DELETED


INSERT INTO lio2 VALUES(id, nom1, ape1, nom2,ape2, CURRENT_TIMESTAMP)
END
  #5 (permalink)  
Antiguo 16/10/2013, 10:59
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: problemas con un trigger

En serio, ¿estás trabajando con MySQL o no? Porque no veo que estés respetando mínimamente la sintaxis propia de este DBMS.

Para que quede claro: No existe un lenguaje procedural estandarizado. Cada DBMS crea el que quiere, y no son portables. Debes recurrir al manual de referencia para poder "traducir" (sie es posible) una rutina dada a otro DBMS.

Postea el código completo, de la primera y hasta la última línea de ese 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)
  #6 (permalink)  
Antiguo 16/10/2013, 11:12
 
Fecha de Ingreso: octubre-2013
Mensajes: 6
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: problemas con un trigger

si estoy utilizando navicat premium Yo lo saque un ejemplo de este link http://www.youtube.com/watch?v=JQDhw9tJ1Wc
  #7 (permalink)  
Antiguo 16/10/2013, 11: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, 4 meses
Puntos: 2658
Respuesta: problemas con un trigger

Postea el código completo del trigger que estás escribiendo.
COMPLETO.

Por cierto, ese video es de triggers en SQL Server, no en MySQL...

Que uses Navicat es irrelevante, lo importante es qué DBMS usas, ya que Navicat puede ser usado en diferentes.
Echale una mirada: http://www.navicat.com/products/navi...r-release-note
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 16/10/2013, 11:16
 
Fecha de Ingreso: octubre-2013
Mensajes: 6
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: problemas con un trigger

Es este DECLARE id INT, nom1 VARCHAR(50), ape1 VARCHAR(50)
DECLARE nom2 VARCHAR(50), ape2 VARCHAR(50)

SELECT id=id, nom1=hombre, ape1=apellido FROM DELETED


INSERT INTO lio2 VALUES(id, nom1, ape1, nom2,ape2, CURRENT_TIMESTAMP)
END

Yo lo saque un ejemplo de este link http://www.youtube.com/watch?v=JQDhw9tJ1Wc
  #9 (permalink)  
Antiguo 16/10/2013, 11:18
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: problemas con un trigger

¿Estás leyendo lo que te pongo?
Esa sintaxis no sirve para MySQL, es de SQL Server.

Mira, Navicat, como te dije, puede usarse con diferentes DBMS: http://www.navicat.com/products

¿Se entiende?

Si quieres hacer un TRIGGER en MySQL, deberás tomar los datos del manual de referencia, como todos nosotros.

http://dev.mysql.com/doc/refman/5.5/...e-trigger.html

http://dev.mysql.com/doc/refman/5.6/...er-syntax.html
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 16/10/2013, 11:21
 
Fecha de Ingreso: octubre-2013
Mensajes: 6
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: problemas con un trigger

ok dale gracias por responder

Etiquetas: insert, select, sql, 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:17.