PA en MySql, siguiendo la BD creada en el item anterior.
al crear un script se debe cambiar el indicador de fin de sentencia (;) por el (//)
ya que los PA se deben finalizar con //
-- SE CREA VISTA PARA VISUALIZAR LAS MARCAS
CREATE VIEW V_LISTAR_MARCA AS
select `marca`.`ID_MARCA` AS `ID MARCA`,
`marca`.`MAR_MARCA_STR` AS `MARCA`
FROM `marca`;
-- SE CREA EL PROCEDIMIENTO PARA EL INGRESO DE MARCA
CREATE PROCEDURE `LAGUNA`.`P_INGRESO_MARCA` (MAR VARCHAR(50))
BEGIN
DECLARE CAN INT DEFAULT 0; //declaracion de variable
SELECT COUNT(*) INTO CAN FROM MARCA
WHERE MAR_MARCA_STR = MAR;
IF CAN = 0 THEN
INSERT INTO MARCA VALUES (NULL,MAR);
END IF;
END//
-- PERMITE EL INGRESO DE LA MARCA Y RETORNAR SU ID.
-- TAMBIEN RETORNA EL ID SI ESTA SE ENCUENTRA YA EN LA BD
CREATE FUNCTION `LAGUNA`.`F_INGRESO_MARCA` (MAR VARCHAR(50))
RETURNS MEDIUMINT
BEGIN
DECLARE CAN MEDIUMINT DEFAULT 0;
SELECT ID_MARCA INTO CAN FROM MARCA
WHERE MAR_MARCA_STR = MAR;
IF CAN = 0 THEN
INSERT INTO MARCA VALUES (NULL,MAR);
SELECT ID_MARCA INTO CAN FROM MARCA
WHERE MAR_MARCA_STR = MAR;
END IF;
RETURN CAN;
END//
|