necesito darle la vuenta a la cadena
Publicado por akiestudio (1 intervención) el 08/02/2009 20:08:05
hola buenas , mi duda es que necesito crear un bloque anonimo , donde carge en un array el numero de departamento, y el apellido y lo muestre y que tambien muestre despues el numero de empleado pero esta vez con la cadena al reves. Pues bien esta parte es la que no me sale la de darle la vuelta a la cadena del array; este es el codigo que he creado alguien me dice que esta mal y que necesito arreglar y como :
DECLARE
TYPE T_REG IS RECORD(NUMERO EMPLE.EMP_NO%TYPE,APELLIDO EMPLE.APELLIDO%TYPE);
TYPE T1 IS TABLE OF T_REG INDEX BY BINARY_INTEGER;
TABLA T1;
CURSOR C1 IS SELECT EMP_NO,APELLIDO FROM EMPLE;
REVES EMPLE.APELLIDO%TYPE;
I NUMBER:= 0;
J NUMBER:=0;
BEGIN
FOR REG IN C1
LOOP
TABLA(I).NUMERO := REG.EMP_NO;
TABLA(I).APELLIDO := REG.APELLIDO;
DBMS_OUTPUT.PUT_LINE(TABLA(I).NUMERO||'-'||TABLA(I).APELLIDO);
I:=I+1;
END LOOP;
DBMS_OUTPUT.PUT_LINE('-----------------------------------------');
/* AQUI ES DONDE LE QUIERO DAR LA VUELTA A LA CADENA*/
FOR L IN 0 ..(I-1)
LOOP
TABLA(J).APELLIDO :=CONCAT(TABLA(J).APELLIDO,SUBSTR(TABLA(J).APELLIDO,J,1));
DBMS_OUTPUT.PUT_LINE(TABLA(J).NUMERO||'-'||TABLA(J).APELLIDO);
J:=J+1;
END LOOP;
END;
/
saludos y gracias
DECLARE
TYPE T_REG IS RECORD(NUMERO EMPLE.EMP_NO%TYPE,APELLIDO EMPLE.APELLIDO%TYPE);
TYPE T1 IS TABLE OF T_REG INDEX BY BINARY_INTEGER;
TABLA T1;
CURSOR C1 IS SELECT EMP_NO,APELLIDO FROM EMPLE;
REVES EMPLE.APELLIDO%TYPE;
I NUMBER:= 0;
J NUMBER:=0;
BEGIN
FOR REG IN C1
LOOP
TABLA(I).NUMERO := REG.EMP_NO;
TABLA(I).APELLIDO := REG.APELLIDO;
DBMS_OUTPUT.PUT_LINE(TABLA(I).NUMERO||'-'||TABLA(I).APELLIDO);
I:=I+1;
END LOOP;
DBMS_OUTPUT.PUT_LINE('-----------------------------------------');
/* AQUI ES DONDE LE QUIERO DAR LA VUELTA A LA CADENA*/
FOR L IN 0 ..(I-1)
LOOP
TABLA(J).APELLIDO :=CONCAT(TABLA(J).APELLIDO,SUBSTR(TABLA(J).APELLIDO,J,1));
DBMS_OUTPUT.PUT_LINE(TABLA(J).NUMERO||'-'||TABLA(J).APELLIDO);
J:=J+1;
END LOOP;
END;
/
saludos y gracias
Valora esta pregunta


0