Herramientas de usuario

Herramientas del sitio


bloque3:programacion

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
bloque3:programacion [2021/11/15 18:50] – [Creación de scripts] fernandobloque3:programacion [2024/09/16 15:37] (actual) – editor externo 127.0.0.1
Línea 185: Línea 185:
 </code> </code>
  
-==== Etiquetas en procedimientos ====+==== Salir de un procedimiento: Etiquetas ====
  
 Si deseo terminar un procedimiento en un momento dado, puedo usar la sentencia ''LEAVE''. Como podemos querer salir o terminar también un bucle, es necesario poner etiquetas a los bloques de código para indicar de qué bloque queremos salir. Si deseo terminar un procedimiento en un momento dado, puedo usar la sentencia ''LEAVE''. Como podemos querer salir o terminar también un bucle, es necesario poner etiquetas a los bloques de código para indicar de qué bloque queremos salir.
Línea 290: Línea 290:
 <code sql> <code sql>
 DELIMITER | DELIMITER |
 +
 CREATE PROCEDURE ver_pistas() CREATE PROCEDURE ver_pistas()
 BEGIN BEGIN
     SELECT * FROM pistas;     SELECT * FROM pistas;
-END +END | 
-|+
 DELIMITER ; DELIMITER ;
 </code> </code>
  
-Una vez creado el procedimiento o función, desde un script o directamente en la consola, la forma de invocarlo es a través de la instrucción ''CALL'' seguido del nombre del procedimiento 
  
-<code sql> 
-CALL ver_pistas(); 
-</code> 
  
 {{ youtube>XQfPcx7YI0A }} {{ youtube>XQfPcx7YI0A }}
Línea 338: Línea 335:
 CREATE PROCEDURE nueva_pista(p_codigo VARCHAR(10), p_tipo VARCHAR(255),  CREATE PROCEDURE nueva_pista(p_codigo VARCHAR(10), p_tipo VARCHAR(255), 
     p_precio FLOAT, p_id_polideportivo INT)     p_precio FLOAT, p_id_polideportivo INT)
-procedimiento: BEGIN +BEGIN 
-    DECLARE existe_polideportivo TINYINT(1);+    -- Primero se declaran las variables necesarias 
 + 
 +    -- Después se declara el Handler
     DECLARE EXIT HANDLER FOR SQLEXCEPTION     DECLARE EXIT HANDLER FOR SQLEXCEPTION
     BEGIN     BEGIN
         ROLLBACK;         ROLLBACK;
 +        -- Si se quiere mostrar un mensaje: (opcional)
         SELECT 'An error has occurred, operation rollbacked';         SELECT 'An error has occurred, operation rollbacked';
     END;     END;
  
-    SET existe_polideportivo = (SELECT COUNT(*) FROM polideportivos 
-                                WHERE id = p_id_polideportivo); 
-    IF existe_polideportivo = 0 THEN 
-        LEAVE procedimiento; 
-    END IF; 
  
     START TRANSACTION;     START TRANSACTION;
Línea 360: Línea 355:
  
     COMMIT;     COMMIT;
-END procedimiento;+END;
 </code> </code>
  
bloque3/programacion.1637002228.txt.gz · Última modificación: 2024/09/16 15:38 (editor externo)