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:51] – [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 335: 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 357: Línea 355:
  
     COMMIT;     COMMIT;
-END procedimiento;+END;
 </code> </code>
  
bloque3/programacion.1637002289.txt.gz · Última modificación: 2024/09/16 15:38 (editor externo)