Las restricciones de longitud de cadena deben estar en el rango (1 .. 32767)
Publicado por Sash (2 intervenciones) el 25/04/2021 07:21:53
intento ejecutar un código simple pero me arroja "Las restricciones de longitud de cadena deben estar en el rango (1 .. 32767)", no se que hacer revise todo el codigo
Linea de dodigo:
SET SERVEROUTPUT ON;
DECLARE
--Variables BIND
v_movi_adi NUMBER := :movi_adicional;
v_movi_adi2 NUMBER := :movi_adicional2;
v_movi_adi3 NUMBER := :movi_adicional3;
fecha_p DATE := :fecha_proceso;
--variables
v_min number;
v_max number;
v_rut number;
v_drut varchar2;
v_nombre_emp varchar2;
v_sueldo number;
BEGIN
--Rango
SELECT MIN(id_emp),MAX(id_emp)
INTO v_min,v_max
FROM empleado;
FOR i IN v_min .. v_max LOOP
IF MOD(i,10) = 0 THEN
SELECT numrun_emp,dvrun_emp,INITCAP(pnombre_emp||' '||snombre_emp||' '||appaterno_emp||' '||apmaterno_emp),sueldo_base
INTO v_rut,v_drut,v_nombre_emp,v_sueldo
FROM empleado
WHERE id_emp = i;
DBMS_OUTPUT.PUT_LINE(v_rut|| ' ' ||v_drut|| ' ' ||v_nombre_emp|| ' ' ||v_sueldo);
END IF;
END LOOP;
DBMS_OUTPUT.PUT_LINE(v_movi_adi|| ' ' ||v_movi_adi2|| ' ' ||v_movi_adi3|| ' ' ||fecha_p);
END;
Linea de dodigo:
SET SERVEROUTPUT ON;
DECLARE
--Variables BIND
v_movi_adi NUMBER := :movi_adicional;
v_movi_adi2 NUMBER := :movi_adicional2;
v_movi_adi3 NUMBER := :movi_adicional3;
fecha_p DATE := :fecha_proceso;
--variables
v_min number;
v_max number;
v_rut number;
v_drut varchar2;
v_nombre_emp varchar2;
v_sueldo number;
BEGIN
--Rango
SELECT MIN(id_emp),MAX(id_emp)
INTO v_min,v_max
FROM empleado;
FOR i IN v_min .. v_max LOOP
IF MOD(i,10) = 0 THEN
SELECT numrun_emp,dvrun_emp,INITCAP(pnombre_emp||' '||snombre_emp||' '||appaterno_emp||' '||apmaterno_emp),sueldo_base
INTO v_rut,v_drut,v_nombre_emp,v_sueldo
FROM empleado
WHERE id_emp = i;
DBMS_OUTPUT.PUT_LINE(v_rut|| ' ' ||v_drut|| ' ' ||v_nombre_emp|| ' ' ||v_sueldo);
END IF;
END LOOP;
DBMS_OUTPUT.PUT_LINE(v_movi_adi|| ' ' ||v_movi_adi2|| ' ' ||v_movi_adi3|| ' ' ||fecha_p);
END;
Valora esta pregunta


0