|
|
Edit
|
Copy
|
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
|
Copy
|
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(13)
|
int(11)
|
BEGIN
DECLARE prov INT DEFAULT 0;
DECLARE tercer INT DEFAULT 0;
DECLARE estab VARCHAR(3) DEFAULT '';
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;
RETURN 1;
END
|
root@localhost |
2026-08-04 21:05:33 |
2026-08-04 21:05:33 |
NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTIO... |
|
utf8mb4 |
utf8mb4_unicode_ci |
utf8mb4_general_ci |
BEGIN
DECLARE prov INT DEFAULT 0;
DECLARE tercer INT DEFAULT 0;
DECLARE estab VARCHAR(3) DEFAULT '';
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;
RETURN 1;
END
|
NONE |
|
|
Edit
|
Copy
|
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 |