Drop files here

SQL upload ( 0 ) x -

Page-related settings Click on the bar to scroll to top of page
Press Ctrl+Enter to execute query Press Enter to execute query
ascending
descending
Order:
Debug SQL
Count
Execution order
Time taken
Order by:
Group queries
Ungroup queries
Collapse Expand Show trace Hide trace Count : Time taken :
Options
Set default





Collapse Expand Requery Edit Explain Profiling Query failed Database : Queried time :
Browse mode
Customize browse mode.
Browse mode
Documentation Use only icons, only text or both. Restore default value
Documentation Use only icons, only text or both. Restore default value
Documentation Whether a user should be displayed a "show all (rows)" button. Restore default value
Documentation Number of rows displayed when browsing a result set. If the result set contains more rows, "Previous" and "Next" links will be shown. Restore default value
Documentation SMART - i.e. descending order for columns of type TIME, DATE, DATETIME and TIMESTAMP, ascending order otherwise. Restore default value
Documentation Highlight row pointed by the mouse cursor. Restore default value
Documentation Highlight selected rows. Restore default value
Documentation Restore default value
Documentation Restore default value
Documentation Repeat the headers every X cells, 0 deactivates this feature. Restore default value
Documentation Maximum number of characters shown in any non-numeric column on browse view. Restore default value
Documentation These are Edit, Copy and Delete links. Restore default value
Documentation Whether to show row links even in the absence of a unique key. Restore default value
Documentation Default sort order for tables with a primary key. Restore default value
Documentation When browsing tables, the sorting of each table is remembered. Restore default value
Documentation For display Options Restore default value
SELECT * FROM `proc`
Edit inline ] [ Edit ] [ Explain SQL ] [ Create PHP code ] [ Refresh ]
Full texts db name type 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
Edit Edit Copy Copy Delete Delete
DELETE FROM proc WHERE `proc`.`db` = 'facturacion_sri' AND `proc`.`name` = 'fn_ec_validar_cedula' AND `proc`.`type` = 'FUNCTION'
facturacion_sri fn_ec_validar_cedula FUNCTION fn_ec_validar_cedula SQL CONTAINS_SQL YES DEFINER
p_cedula VARCHAR(20)
tinyint(4)
BEGIN
  DECLARE i INT DEFAULT 1; DECLARE suma INT DEFAULT 0; DECLARE prod INT DEFAULT 0; DECLARE coef INT DEFAULT 0;
  DECLARE prov INT DEFAULT 0; DECLARE tercer INT DEFAULT 0; DECLARE verif INT DEFAULT 0;
  IF p_cedula IS NULL OR p_cedula NOT REGEXP '^[0-9]{10}$' THEN RETURN 0; END IF;
  SET prov=CAST(SUBSTRING(p_cedula,1,2) AS UNSIGNED); SET tercer=CAST(SUBSTRING(p_cedula,3,1) AS UNSIGNED);
  IF NOT ((prov BETWEEN 1 AND 24) OR prov=30) THEN RETURN 0; END IF;
  IF tercer>=6 THEN RETURN 0; END IF;
  WHILE i<=9 DO
    SET coef = IF(MOD(i,2)=1,2,1);
    SET prod = CAST(SUBSTRING(p_cedula,i,1) AS UNSIGNED)*coef;
    IF prod>9 THEN SET prod=prod-9; END IF;
    SET suma=suma+prod; SET i=i+1;
  END WHILE;
  SET verif=MOD(10-MOD(suma,10),10);
  IF verif=CAST(SUBSTRING(p_cedula,10,1) AS UNSIGNED) THEN RETURN 1; END IF;
  RETURN 0;
END
root@localhost 2026-06-11 22:22:02 2026-06-11 22:22:02 NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTIO... utf8mb4 utf8mb4_general_ci utf8mb4_general_ci
BEGIN
  DECLARE i INT DEFAULT 1; DECLARE suma INT DEFAULT 0; DECLARE prod INT DEFAULT 0; DECLARE coef INT DEFAULT 0;
  DECLARE prov INT DEFAULT 0; DECLARE tercer INT DEFAULT 0; DECLARE verif INT DEFAULT 0;
  IF p_cedula IS NULL OR p_cedula NOT REGEXP '^[0-9]{10}$' THEN RETURN 0; END IF;
  SET prov=CAST(SUBSTRING(p_cedula,1,2) AS UNSIGNED); SET tercer=CAST(SUBSTRING(p_cedula,3,1) AS UNSIGNED);
  IF NOT ((prov BETWEEN 1 AND 24) OR prov=30) THEN RETURN 0; END IF;
  IF tercer>=6 THEN RETURN 0; END IF;
  WHILE i<=9 DO
    SET coef = IF(MOD(i,2)=1,2,1);
    SET prod = CAST(SUBSTRING(p_cedula,i,1) AS UNSIGNED)*coef;
    IF prod>9 THEN SET prod=prod-9; END IF;
    SET suma=suma+prod; SET i=i+1;
  END WHILE;
  SET verif=MOD(10-MOD(suma,10),10);
  IF verif=CAST(SUBSTRING(p_cedula,10,1) AS UNSIGNED) THEN RETURN 1; END IF;
  RETURN 0;
END
NONE
Edit Edit Copy Copy Delete Delete
DELETE FROM proc WHERE `proc`.`db` = 'facturacion_sri' AND `proc`.`name` = 'fn_ec_validar_ruc' AND `proc`.`type` = 'FUNCTION'
facturacion_sri fn_ec_validar_ruc FUNCTION fn_ec_validar_ruc SQL CONTAINS_SQL YES DEFINER
p_ruc VARCHAR(20)
tinyint(4)
BEGIN
  DECLARE prov INT DEFAULT 0; DECLARE tercer INT DEFAULT 0; DECLARE estab VARCHAR(3) DEFAULT '';
  DECLARE i INT DEFAULT 1; DECLARE suma INT DEFAULT 0; DECLARE coef INT DEFAULT 0; DECLARE residuo INT DEFAULT 0; DECLARE verif INT DEFAULT 0;
  IF p_ruc IS NULL OR p_ruc NOT REGEXP '^[0-9]{13}$' THEN RETURN 0; END IF;
  SET prov=CAST(SUBSTRING(p_ruc,1,2) AS UNSIGNED); SET tercer=CAST(SUBSTRING(p_ruc,3,1) AS UNSIGNED); SET estab=SUBSTRING(p_ruc,11,3);
  IF NOT ((prov BETWEEN 1 AND 24) OR prov=30) THEN RETURN 0; END IF;
  IF estab='000' THEN RETURN 0; END IF;
  IF tercer<6 THEN RETURN fn_ec_validar_cedula(SUBSTRING(p_ruc,1,10)); END IF;
  IF tercer=6 THEN
    SET i=1; SET suma=0;
    WHILE i<=8 DO
      SET coef=CASE i WHEN 1 THEN 3 WHEN 2 THEN 2 WHEN 3 THEN 7 WHEN 4 THEN 6 WHEN 5 THEN 5 WHEN 6 THEN 4 WHEN 7 THEN 3 WHEN 8 THEN 2 END;
      SET suma=suma+(CAST(SUBSTRING(p_ruc,i,1) AS UNSIGNED)*coef); SET i=i+1;
    END WHILE;
    SET residuo=MOD(suma,11); SET verif=IF(residuo=0,0,11-residuo); IF verif=11 THEN SET verif=0; END IF;
    IF verif=CAST(SUBSTRING(p_ruc,9,1) AS UNSIGNED) THEN RETURN 1; END IF;
    RETURN 0;
  END IF;
  IF tercer=9 THEN
    SET i=1; SET suma=0;
    WHILE i<=9 DO
      SET coef=CASE i WHEN 1 THEN 4 WHEN 2 THEN 3 WHEN 3 THEN 2 WHEN 4 THEN 7 WHEN 5 THEN 6 WHEN 6 THEN 5 WHEN 7 THEN 4 WHEN 8 THEN 3 WHEN 9 THEN 2 END;
      SET suma=suma+(CAST(SUBSTRING(p_ruc,i,1) AS UNSIGNED)*coef); SET i=i+1;
    END WHILE;
    SET residuo=MOD(suma,11); SET verif=IF(residuo=0,0,11-residuo); IF verif=11 THEN SET verif=0; END IF;
    IF verif=CAST(SUBSTRING(p_ruc,10,1) AS UNSIGNED) THEN RETURN 1; END IF;
    RETURN 0;
  END IF;
  RETURN 0;
END
root@localhost 2026-06-11 22:22:02 2026-06-11 22:22:02 NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTIO... utf8mb4 utf8mb4_general_ci utf8mb4_general_ci
BEGIN
  DECLARE prov INT DEFAULT 0; DECLARE tercer INT DEFAULT 0; DECLARE estab VARCHAR(3) DEFAULT '';
  DECLARE i INT DEFAULT 1; DECLARE suma INT DEFAULT 0; DECLARE coef INT DEFAULT 0; DECLARE residuo INT DEFAULT 0; DECLARE verif INT DEFAULT 0;
  IF p_ruc IS NULL OR p_ruc NOT REGEXP '^[0-9]{13}$' THEN RETURN 0; END IF;
  SET prov=CAST(SUBSTRING(p_ruc,1,2) AS UNSIGNED); SET tercer=CAST(SUBSTRING(p_ruc,3,1) AS UNSIGNED); SET estab=SUBSTRING(p_ruc,11,3);
  IF NOT ((prov BETWEEN 1 AND 24) OR prov=30) THEN RETURN 0; END IF;
  IF estab='000' THEN RETURN 0; END IF;
  IF tercer<6 THEN RETURN fn_ec_validar_cedula(SUBSTRING(p_ruc,1,10)); END IF;
  IF tercer=6 THEN
    SET i=1; SET suma=0;
    WHILE i<=8 DO
      SET coef=CASE i WHEN 1 THEN 3 WHEN 2 THEN 2 WHEN 3 THEN 7 WHEN 4 THEN 6 WHEN 5 THEN 5 WHEN 6 THEN 4 WHEN 7 THEN 3 WHEN 8 THEN 2 END;
      SET suma=suma+(CAST(SUBSTRING(p_ruc,i,1) AS UNSIGNED)*coef); SET i=i+1;
    END WHILE;
    SET residuo=MOD(suma,11); SET verif=IF(residuo=0,0,11-residuo); IF verif=11 THEN SET verif=0; END IF;
    IF verif=CAST(SUBSTRING(p_ruc,9,1) AS UNSIGNED) THEN RETURN 1; END IF;
    RETURN 0;
  END IF;
  IF tercer=9 THEN
    SET i=1; SET suma=0;
    WHILE i<=9 DO
      SET coef=CASE i WHEN 1 THEN 4 WHEN 2 THEN 3 WHEN 3 THEN 2 WHEN 4 THEN 7 WHEN 5 THEN 6 WHEN 6 THEN 5 WHEN 7 THEN 4 WHEN 8 THEN 3 WHEN 9 THEN 2 END;
      SET suma=suma+(CAST(SUBSTRING(p_ruc,i,1) AS UNSIGNED)*coef); SET i=i+1;
    END WHILE;
    SET residuo=MOD(suma,11); SET verif=IF(residuo=0,0,11-residuo); IF verif=11 THEN SET verif=0; END IF;
    IF verif=CAST(SUBSTRING(p_ruc,10,1) AS UNSIGNED) THEN RETURN 1; END IF;
    RETURN 0;
  END IF;
  RETURN 0;
END
NONE
Edit Edit Copy Copy Delete Delete
DELETE FROM proc WHERE `proc`.`db` = 'facturacion_sri' AND `proc`.`name` = 'fn_ec_validar_identificacion' AND `proc`.`type` = 'FUNCTION'
facturacion_sri fn_ec_validar_identificacion FUNCTION fn_ec_validar_identificacion SQL CONTAINS_SQL YES DEFINER
p_id VARCHAR(30)
tinyint(4)
BEGIN
  IF p_id IS NULL OR TRIM(p_id)='' THEN RETURN 0; END IF;
  SET p_id=TRIM(p_id);
  IF p_id NOT REGEXP '^[0-9]+$' THEN RETURN 0; END IF;
  IF p_id='9999999999999' THEN RETURN 1; END IF;
  IF CHAR_LENGTH(p_id)=10 THEN RETURN fn_ec_validar_cedula(p_id); END IF;
  IF CHAR_LENGTH(p_id)=13 THEN RETURN fn_ec_validar_ruc(p_id); END IF;
  RETURN 0;
END
root@localhost 2026-06-11 22:22:02 2026-06-11 22:22:02 NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTIO... utf8mb4 utf8mb4_general_ci utf8mb4_general_ci
BEGIN
  IF p_id IS NULL OR TRIM(p_id)='' THEN RETURN 0; END IF;
  SET p_id=TRIM(p_id);
  IF p_id NOT REGEXP '^[0-9]+$' THEN RETURN 0; END IF;
  IF p_id='9999999999999' THEN RETURN 1; END IF;
  IF CHAR_LENGTH(p_id)=10 THEN RETURN fn_ec_validar_cedula(p_id); END IF;
  IF CHAR_LENGTH(p_id)=13 THEN RETURN fn_ec_validar_ruc(p_id); END IF;
  RETURN 0;
END
NONE
With selected: With selected:
Query results operations Copy to clipboard Copy to clipboard Export Export Display chart Display chart Create view Create view