Suelte aquí los archivos

Carga SQL ( 0 ) x -

Ajustes de página relacionada Pulse en la barra para deslizarse al tope de la página
Presione Ctrl+Enter para ejecutar la consulta Presione Enter para ejecutar la consulta
ascendente
descendente
Orden:
Depuración SQL
Cantidad
Orden de ejecución
Tiempo necesario
Ordenar por:
Consultas grupales
Desagrupar las consultas
Colapsar Expandir Mostrar rastro Ocultar rastro Cantidad : Tiempo necesario :
Favoritos
Actualizar
Agregar
Ningún favorito
Agregar favorito
Opciones
Definir predeterminado





Colapsar Expandir Reconsultar Editar Explicar Perfilando Agregar a favoritos Falló la consulta Base de datos : Fecha y hora la consulta :
Modalidad de navegación
Cambiar las opciones de la modalidad de visualización.
Modalidad de navegación
Documentación Use solamente íconos, solamente texto o ambos. Restaurar valor predeterminado
Documentación Use solamente íconos, solamente texto o ambos. Restaurar valor predeterminado
Documentación Si el usuario puede ver un botón "mostrar todos (los registros)" o no. Restaurar valor predeterminado
Documentación Número de filas mostradas cuando se visualiza un juego de resultados. Si el juego de resultados contiene más filas, aparecerán enlaces "Anterior" y "Siguiente". Restaurar valor predeterminado
Documentación SMART - es decir: orden descendente para columnas de tipo TIME, DATE, DATETIME y TIMESTAMP, ascendente en los demás casos. Restaurar valor predeterminado
Documentación Resaltar las filas señaladas por el cursor del ratón. Restaurar valor predeterminado
Documentación Resaltar las filas seleccionadas. Restaurar valor predeterminado
Documentación Restaurar valor predeterminado
Documentación Restaurar valor predeterminado
Documentación Repetir cabecera cada X celdas, 0 desactiva esta funcionalidad. Restaurar valor predeterminado
Documentación Cantidad máxima de caracteres a mostrar en un campo no-numérico en vista de navegación. Restaurar valor predeterminado
Documentación Estos son los enlaces para Editar, Copiar y Borrar. Restaurar valor predeterminado
Documentación Si se muestran enlaces de fila, incluso en ausencia de una clave única. Restaurar valor predeterminado
Documentación Ordenación predeterminada para tablas con una clave primaria. Restaurar valor predeterminado
Documentación Al explorar tablas, se recordará el ordenamiento de cada tabla. Restaurar valor predeterminado
Documentación Opciones de visualización Restaurar valor predeterminado
SELECT * FROM `proc` ORDER BY `type` ASC 
Editar en línea ] [ Editar ] [ Explicar SQL ] [ Crear código PHP ] [ Actualizar ]
Textos completos db name type Ascendente Descendente 1 specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8 aggregate
Editar Editar Copiar Copiar Borrar Borrar
DELETE FROM proc WHERE `proc`.`db` = 'losnaranjos' AND `proc`.`name` = 'fn_obtener_estadisticas_libro' AND `proc`.`type` = 'FUNCTION'
losnaranjos fn_obtener_estadisticas_libro FUNCTION fn_obtener_estadisticas_libro SQL READS_SQL_DATA YES DEFINER
p_id_libro INT
longtext CHARSET utf8mb4 COLLATE utf8mb4_bin
BEGIN
    DECLARE v_resultado JSON;
    
    SELECT JSON_OBJECT(
        'total_empleados', COUNT(DISTINCT dni),
        'empleados_validados', COUNT(DISTINCT CASE WHEN empleado_encontrado = 1 THEN dni END),
        'empleados_con_firma', COUNT(DISTINCT CASE WHEN tiene_firma = 1 THEN dni END),
        'empleados_sin_validar', COUNT(DISTINCT CASE WHEN empleado_encontrado = 0 THEN dni END),
        'porcentaje_validados', ROUND(
            COUNT(DISTINCT CASE WHEN empleado_encontrado = 1 THEN dni END) * 100.0 / 
            NULLIF(COUNT(DISTINCT dni), 0), 2
        ),
        'porcentaje_firmados', ROUND(
            COUNT(DISTINCT CASE WHEN tiene_firma = 1 THEN dni END) * 100.0 / 
            NULLIF(COUNT(DISTINCT dni), 0), 2
        )
    ) INTO v_resultado
    FROM libros_sueldo_detalle
    WHERE id_libro = p_id_libro;
    
    RETURN v_resultado;
END
root@localhost 2025-10-03 09:28:48 2025-10-03 09:28:48 NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTIO... utf8mb4 utf8mb4_unicode_ci utf8mb4_general_ci
BEGIN
    DECLARE v_resultado JSON;
    
    SELECT JSON_OBJECT(
        'total_empleados', COUNT(DISTINCT dni),
        'empleados_validados', COUNT(DISTINCT CASE WHEN empleado_encontrado = 1 THEN dni END),
        'empleados_con_firma', COUNT(DISTINCT CASE WHEN tiene_firma = 1 THEN dni END),
        'empleados_sin_validar', COUNT(DISTINCT CASE WHEN empleado_encontrado = 0 THEN dni END),
        'porcentaje_validados', ROUND(
            COUNT(DISTINCT CASE WHEN empleado_encontrado = 1 THEN dni END) * 100.0 / 
            NULLIF(COUNT(DISTINCT dni), 0), 2
        ),
        'porcentaje_firmados', ROUND(
            COUNT(DISTINCT CASE WHEN tiene_firma = 1 THEN dni END) * 100.0 / 
            NULLIF(COUNT(DISTINCT dni), 0), 2
        )
    ) INTO v_resultado
    FROM libros_sueldo_detalle
    WHERE id_libro = p_id_libro;
    
    RETURN v_resultado;
END
NONE
Editar Editar Copiar Copiar Borrar Borrar
DELETE FROM proc WHERE `proc`.`db` = 'losnaranjos' AND `proc`.`name` = 'sp_reemplazar_libro_sueldo' AND `proc`.`type` = 'PROCEDURE'
losnaranjos sp_reemplazar_libro_sueldo PROCEDURE sp_reemplazar_libro_sueldo SQL CONTAINS_SQL NO DEFINER

    IN p_id_liquidacion INT

BEGIN
    -- Marcar libros anteriores como eliminados
    UPDATE libros_sueldo 
    SET estado = 'eliminado',
        observaciones = CONCAT(
            COALESCE(observaciones, ''), 
            '\n[', NOW(), '] Reemplazado por nuevo libro'
        )
    WHERE id_liquidacion = p_id_liquidacion 
      AND estado = 'activo';
      
    -- Retornar cantidad de libros marcados como eliminados
    SELECT ROW_COUNT() as libros_reemplazados;
END
root@localhost 2025-10-03 09:28:47 2025-10-03 09:28:47 NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTIO... utf8mb4 utf8mb4_unicode_ci utf8mb4_general_ci
BEGIN
    -- Marcar libros anteriores como eliminados
    UPDATE libros_sueldo 
    SET estado = 'eliminado',
        observaciones = CONCAT(
            COALESCE(observaciones, ''), 
            '\n[', NOW(), '] Reemplazado por nuevo libro'
        )
    WHERE id_liquidacion = p_id_liquidacion 
      AND estado = 'activo';
      
    -- Retornar cantidad de libros marcados como eliminados
    SELECT ROW_COUNT() as libros_reemplazados;
END
NONE
Editar Editar Copiar Copiar Borrar Borrar
DELETE FROM proc WHERE `proc`.`db` = 'losnaranjos' AND `proc`.`name` = 'sp_actualizar_contadores_libro' AND `proc`.`type` = 'PROCEDURE'
losnaranjos sp_actualizar_contadores_libro PROCEDURE sp_actualizar_contadores_libro SQL CONTAINS_SQL NO DEFINER

    IN p_id_libro INT

BEGIN
    UPDATE libros_sueldo ls
    SET 
        ls.empleados_procesados = (
            SELECT COUNT(DISTINCT dni) 
            FROM libros_sueldo_detalle 
            WHERE id_libro = p_id_libro
        ),
        ls.empleados_con_firma = (
            SELECT COUNT(DISTINCT dni) 
            FROM libros_sueldo_detalle 
            WHERE id_libro = p_id_libro AND tiene_firma = 1
        )
    WHERE ls.id_libro = p_id_libro;
    
    -- Retornar los valores actualizados
    SELECT 
        empleados_procesados,
        empleados_con_firma
    FROM libros_sueldo
    WHERE id_libro = p_id_libro;
END
root@localhost 2025-10-03 09:28:47 2025-10-03 09:28:47 NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTIO... utf8mb4 utf8mb4_unicode_ci utf8mb4_general_ci
BEGIN
    UPDATE libros_sueldo ls
    SET 
        ls.empleados_procesados = (
            SELECT COUNT(DISTINCT dni) 
            FROM libros_sueldo_detalle 
            WHERE id_libro = p_id_libro
        ),
        ls.empleados_con_firma = (
            SELECT COUNT(DISTINCT dni) 
            FROM libros_sueldo_detalle 
            WHERE id_libro = p_id_libro AND tiene_firma = 1
        )
    WHERE ls.id_libro = p_id_libro;
    
    -- Retornar los valores actualizados
    SELECT 
        empleados_procesados,
        empleados_con_firma
    FROM libros_sueldo
    WHERE id_libro = p_id_libro;
END
NONE
Para los elementos que están marcados: Para los elementos que están marcados:
Operaciones sobre los resultados de la consulta Copiar al portapapeles Copiar al portapapeles Exportar Exportar Mostrar gráfico Mostrar gráfico Crear vista Crear vista
Guardar esta consulta en favoritos Guardar esta consulta en favoritos