The function provided below returns the letters in a single word along with their position in the word:
CREATE OR REPLACE TYPE TYP_WORD_LETTER AS OBJECT
(
letter VARCHAR2(2),
position number(2)
)
/
CREATE OR REPLACE TYPE TYP_WORD_LETTER_COL
AS TABLE OF TYP_WORD_LETTER;
/
CREATE OR REPLACE FUNCTION get_word_letters (v_word VARCHAR2)
RETURN typ_word_letter_col PIPELINED
AS
ret_val NUMBER;
aletter VARCHAR2 (2);
pos PLS_INTEGER := 1;
BEGIN
LOOP
aletter := SUBSTR (v_word, pos, 1);
PIPE ROW (NEW typ_word_letter (aletter, pos));
pos := pos + 1;
EXIT WHEN pos > LENGTH (v_word);
END LOOP;
RETURN;
END;
/
CREATE OR REPLACE TYPE TYP_WORD_LETTER AS OBJECT
(
letter VARCHAR2(2),
position number(2)
)
/
CREATE OR REPLACE TYPE TYP_WORD_LETTER_COL
AS TABLE OF TYP_WORD_LETTER;
/
CREATE OR REPLACE FUNCTION get_word_letters (v_word VARCHAR2)
RETURN typ_word_letter_col PIPELINED
AS
ret_val NUMBER;
aletter VARCHAR2 (2);
pos PLS_INTEGER := 1;
BEGIN
LOOP
aletter := SUBSTR (v_word, pos, 1);
PIPE ROW (NEW typ_word_letter (aletter, pos));
pos := pos + 1;
EXIT WHEN pos > LENGTH (v_word);
END LOOP;
RETURN;
END;
/
No comments:
Post a Comment