Untitled
unknown
mysql
3 years ago
1.4 kB
2
Indexable
Never
-- Agregar Columna rec_unidad_id_PK a recursos ALTER TABLE recursos ADD COLUMN rec_unidad_id_fk SMALLINT(3) UNSIGNED NOT NULL ; DELETE FROM recursos; ALTER TABLE recursos ADD CONSTRAINT `FK_recursos_unidad` FOREIGN KEY (`rec_unidad_id_fk`) REFERENCES unidades (`unidad_id`) ON DELETE NO ACTION ON UPDATE NO ACTION; -- Creacion Procedimiento DELIMITER // CREATE /*DEFINER=`u995095518_pruebasback1`@`%`*/ PROCEDURE pa_insertar_manual_competencias(enlace_recurso VARCHAR(30), perfil_id SMALLINT(5),unidad_id SMALLINT(3)) BEGIN -- Validacion DECLARE perfil_existe, unidad_existe SMALLINT DEFAULT 0; SELECT COUNT(*) INTO perfil_existe FROM perfiles_sub_areas p WHERE p.perfil_id=perfil_id; SELECT COUNT(*) INTO unidad_existe FROM unidades u WHERE u.unidad_id=unidad_id; IF NOT perfil_existe THEN SIGNAL SQLSTATE '02000' SET MESSAGE_TEXT = 'El perfil pasado no existe en la BD'; ELSEIF NOT unidad_existe THEN SIGNAL SQLSTATE '02000' SET MESSAGE_TEXT = 'La unidad pasada no existe en la BD'; END IF; -- Logica principal INSERT INTO `recursos` (`rec_nombre`, `rec_enlace`, `rec_categoria_id_pk`, `rec_perfil_id_pk`, `rec_subarea_id_pk`, `rec_area_id_pk`, `rec_unidad_id_fk`) VALUES ('manual competencias', enlace_recurso, 1, perfil_id, NULL, NULL,unidad_id); END // DELIMITER ; -- TEST CALL pa_insertar_manual_competencias ('http:google.driasdfasdfve.com',1,1)