Programming Resource
Create Tokenize function di Oracle
Fungsi tokenizer sering sekali digunakan , jiak kita menggunakan java fungsi itu akan relatif mudah di gunakan karena disudah disediakan oleh java, nah bagaimana kita melakukan fungsi tokenizer di oracle.
berikut ada sample procedure untuk melakukan tokenizer di oracle
The pl/sql Oracle version for the Tokenizer procedure
CREATE OR REPLACE PROCEDURE tokenizer (
iStart IN NUMBER,
sPattern IN VARCHAR2,
sBuffer IN VARCHAR2,
sResult OUT VARCHAR2,
iNextPos OUT NUMBER
)
AS
nPos1 NUMBER;
nPos2 NUMBER;
BEGIN
nPos1 := INSTR (sBuffer, sPattern, iStart);
IF nPos1 = 0
THEN
sResult := NULL;
ELSE
nPos2 := INSTR (sBuffer, sPattern, nPos1 + 1);
IF nPos2 = 0
THEN
sResult := RTRIM (LTRIM (SUBSTR (sBuffer, nPos1 + 1)));
iNextPos := nPos2;
ELSE
sResult := SUBSTR (sBuffer, nPos1 + 1, nPos2 - nPos1 - 1);
iNextPos := nPos2;
END IF;
END IF;
END tokenizer;
untuk test nya gunakan script dibawah ini
– a Procedure to Test the Tokenizer
Create or Replace procedure sp_test_tokenizer
as
sepr varchar2(1);
sbuf varchar2(200);
sres varchar2(200);
pos number;
istart number;
begin
sbuf := ‘@0@11@222@3333@44444@555555@6666666@77777777@888888888?;
sepr := ‘@’;
istart := 1;
tokenizer (istart ,sepr,sbuf,sres,pos);
if (pos <> 0) then
dbms_output.put_line (sres);
end if;
while (pos <> 0)
loop
istart := pos;
tokenizer (istart ,sepr,sbuf,sres,pos );
dbms_output.put_line (sres);
end loop;
END sp_test_tokenizer;
/
dari SQLPLUS
SQL> set serveroutput on
SQL>exec sp_test_tokenizer;
silakan mencoba semoga bermanfaat
<sumber dari oracle.com>