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

Ayuda con Trigger y Procedimiento

Estas en el tema de Ayuda con Trigger y Procedimiento en el foro de Mysql en Foros del Web. Hola a todos en el foro: Les cuento, estoy haciendo un procedimiento almacenado que es activado por un trigger luego de insertar datos en la ...
  #1 (permalink)  
Antiguo 13/03/2009, 14:26
 
Fecha de Ingreso: junio-2006
Mensajes: 137
Antigüedad: 17 años, 10 meses
Puntos: 0
Ayuda con Trigger y Procedimiento

Hola a todos en el foro:

Les cuento, estoy haciendo un procedimiento almacenado que es activado por un trigger luego de insertar datos en la tabla llamada "inscritos"

El tema es que no pasa nada no hace lo que deberia hacer, aca les dejo los codigos para que me ayuden u orienten por favor.

Codigo del Trigger
Código:
DROP TRIGGER IF EXISTS ingresar_alu_ai ;

DELIMITER $$

CREATE TRIGGER ingresar_alu_ai AFTER INSERT
ON inscritos

FOR each row
begin	
	CALL aumentar_inscritos(NEW.tal_id, NEW.cic_id, NEW.pro_rut);	
end;
$$

DELIMITER ;
Y el codigo del porocedimiento es

Código:
DROP PROCEDURE IF EXISTS aumentar_inscritos ;

DELIMITER $$

CREATE PROCEDURE aumentar_inscritos (IN taller INT, IN ciclo INT, IN profe varchar(15))
BEGIN
DECLARE limite, inscritos INT;

SELECT sec_limite, sec_inscritos INTO limite, inscritos FROM seccion WHERE tal_id = taller AND cic_id = ciclo AND pro_rut = 'profe';
IF inscritos < limite THEN
	SET inscritos = inscritos + 1;
	UPDATE seccion SET sec_inscritos = inscritos WHERE tal_id = taller AND cic_id = ciclo AND pro_rut = 'profe';
ELSE
	UPDATE seccion SET sec_estado = "Sin cupos disponibles" WHERE tal_id = taller AND cic_id = ciclo AND pro_rut = 'profe';
END IF;
END;
$$

DELIMITER ;
No soy muy experimentado en esto de los triggers y procedimientos, pero la logica y el codigo deberian estar bien.

IMPORTANTE:

Cuando lo ejecuto me sale lo siguiente

Warning: #1329 No data - zero rows fetched, selected, or processed

La estructura de las tablas involucradas es la siguiente
Código:
CREATE TABLE `ciclo` (
  `cic_id` int(11) NOT NULL,
  `cic_anio` int(11) NOT NULL,
  `cic_nombre` varchar(100) collate latin1_spanish_ci NOT NULL,
  `cic_descripcion` text collate latin1_spanish_ci NOT NULL,
  PRIMARY KEY  (`cic_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

CREATE TABLE `inscritos` (
  `alu_rut` varchar(15) collate latin1_spanish_ci NOT NULL,
  `tal_id` int(11) NOT NULL,
  `cic_id` int(11) NOT NULL,
  `pro_rut` varchar(15) collate latin1_spanish_ci NOT NULL,
  PRIMARY KEY  (`alu_rut`,`tal_id`,`cic_id`,`pro_rut`),
  KEY `tal_id` (`tal_id`,`cic_id`,`pro_rut`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

CREATE TABLE `profesor` (
  `pro_rut` varchar(15) collate latin1_spanish_ci NOT NULL,
  `pro_nombres` varchar(50) collate latin1_spanish_ci NOT NULL,
  `pro_paterno` varchar(30) collate latin1_spanish_ci NOT NULL,
  `pro_materno` varchar(30) collate latin1_spanish_ci NOT NULL,
  `pro_direccion` varchar(150) collate latin1_spanish_ci NOT NULL,
  `pro_fono` varchar(15) collate latin1_spanish_ci NOT NULL,
  `pro_celular` varchar(15) collate latin1_spanish_ci NOT NULL,
  `pro_correo` varchar(50) collate latin1_spanish_ci NOT NULL,
  PRIMARY KEY  (`pro_rut`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

CREATE TABLE `seccion` (
  `tal_id` int(11) NOT NULL,
  `cic_id` int(11) NOT NULL,
  `pro_rut` varchar(15) collate latin1_spanish_ci NOT NULL,
  `sec_limite` varchar(50) collate latin1_spanish_ci NOT NULL,
  `sec_inscritos` varchar(50) collate latin1_spanish_ci NOT NULL,
  PRIMARY KEY  (`tal_id`,`cic_id`,`pro_rut`),
  KEY `pro_rut` (`pro_rut`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;


CREATE TABLE `taller` (
  `tal_id` int(11) NOT NULL,
  `cic_id` int(11) NOT NULL,
  `tal_nombre` varchar(50) collate latin1_spanish_ci NOT NULL,
  `tal_descripcion` varchar(100) collate latin1_spanish_ci NOT NULL,
  PRIMARY KEY  (`tal_id`,`cic_id`),
  KEY `cic_id` (`cic_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;
  #2 (permalink)  
Antiguo 16/03/2009, 22:42
 
Fecha de Ingreso: junio-2006
Mensajes: 137
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Ayuda con Trigger y Procedimiento

Alguna ayuda por favor, puedo hacer lo que se necesita, pero directamnete desde php y quisiera aprender sobre esto aparte, que mejoraria la rapidez y eficiencia de mi sistema.

Fracias de antemano
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 04:52.