cadena guardad en array , y darle la vuelta

tema enviado por akiestudio en SQL
tema iniciado el 07/02/2009
necesito hacer un bloque anonimo ,donde guarde en un array el numero y apellido de un empleado  y que visualize numero y apellido y numero y apellido al reves
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('-----------------------------------------');
 
 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;
/