Ejemplo:
consulta: Tengo un problema
resultado: ogneT nu amelborp
Le he estado dando vueltas y no se como hacerlo. Tengo un procedimiento que invierte una palabra unicamente, es el siguiente:
Código:
La cuestión es que ahora hay que separa las palabras de la frase y entiendo que deben diferenciarse cuando se llegue a un espacio en blanco. Pero me estoy haciendo unos líos impresionantes.CREATE OR REPLACE PROCEDURE reves (cadena VARCHAR2) AS cadena_rev VARCHAR2(20); x NUMBER; BEGIN x := LENGTH(cadena); WHILE x >= 1 LOOP cadena_rev := cadena_rev || SUBSTR(cadena, x , 1); x := x -1; END LOOP; DBMS_OUTPUT.PUT_LINE(cadena_rev); END;
Lo que he intentado, ques es bastante poco e incompleto es esto:
Código:
A ver si álguien puede ayudarme o sabe como salir de esta. Gracias de antemano por leerlo. Un saludo CREATE OR REPLACE PROCEDURE reves_frase (cadena VARCHAR2) AS paraula_rev VARCHAR2(20); frase_rev VARCHAR2(20); caracter VARCHAR2(1); x NUMBER; BEGIN FOR x IN 1..LENGTH(cadena) LOOP caracter := SUBSTR(cadena,x,1); IF caracter = ' ' THEN (...) ELSE paraula_rev := paraula_rev || SUBSTR(cadena, x , 1); (..)