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

crear trigger en mi BD del servidor

Estas en el tema de crear trigger en mi BD del servidor en el foro de Bases de Datos General en Foros del Web. HOla compañeros, estoy tratando de crear un trigger en el phpmyadmin de mi servidor pero me sale este error siempre, #1064 - You have an ...
  #1 (permalink)  
Antiguo 26/12/2010, 22:40
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 10 meses
Puntos: 2
crear trigger en mi BD del servidor

HOla compañeros, estoy tratando de crear un trigger en el phpmyadmin de mi servidor pero me sale este error siempre,

#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 '' at line 1

El trigger lo estoy creando de esta manera:


create trigger registrado after insert on radicacion for each row begin update fun set cod_estado=(cod_estado+1)where cod_fun=new.cod_fun

el delimitador q aparece por defecto es este: ;
  #2 (permalink)  
Antiguo 27/12/2010, 05:11
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: crear trigger en mi BD del servidor

Ajá... ¿Y el END del BEGIN?
Código MySQL:
Ver original
  1. DELIMITER $$
  2. CREATE TRIGGER registrado AFTER INSERT ON radicacion
  3.     UPDATE fun SET cod_estado=(cod_estado+1)
  4.     WHERE cod_fun = new.cod_fun;
  5. END$$
  6. DELIMITER ;

Cuando usas BEGIN/END es porque estás creando un SP, SF o TRIGGER multilínea, y en ese caso debes forzosamente cambiar momentáneamente el delimitador de sentencias. Caso contrario, no se usa el BEGIN/END y se pone en una sola sentencia todo:
Código MySQL:
Ver original
  1. CREATE TRIGGER registrado AFTER INSERT ON radicacion
  2. UPDATE fun SET cod_estado=(cod_estado+1)
  3. WHERE cod_fun = NEW.cod_fun;
__________________
¿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 27/12/2010, 08:00
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: crear trigger en mi BD del servidor

oye si funciona, pero en mi pc local, en el phpmyadmin de mi servidor me aparece este mensaje de error

#1227 - Access denied; you need the SUPER privilege for this operation


Segun lo que dice es que no tengo permisos para crear trigers ¿como hago?
  #4 (permalink)  
Antiguo 27/12/2010, 08:04
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: crear trigger en mi BD del servidor

Tienes que pedirles a los del hosting que te provean de permisos para crear TRIGGERS.
Solamente los administradores (DBA) del hosting pueden darte esos privilegios. Si ellos no te los quieren dar, no hay solución alternativa.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: bd, trigger, servidores
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 23:00.