Contoh:
DECLARE
KALIMAT varchar2(100):=’DD_MASTER,LN_MASTER_AUDIT,TRAN_HIST,TASPEN’;
kata varchar2(100):=null;
c number:=0;
BEGIN
FOR i in 1..length(KALIMAT)
LOOP
if substr(kalimat,i,1)=’,’ then
c:=c+1;
end if;
END LOOP;
FOR i in 1..c
LOOP
kata:= substr(KALIMAT,1,instr(KALIMAT,’,’)-1);
kalimat := replace(kalimat,kata||’,’,”);
if i=c then
dbms_output.put_line(‘kata=’||kata);
dbms_output.put_line(‘kalimat=’||kalimat);
else
dbms_output.put_line(‘kata=’||kata);
end if;
END LOOP;
END;
Output:
kata=DD_MASTER
kata=LN_MASTER_AUDIT
kata=TRAN_HIST
kalimat=TASPEN
Script diatas berlaku jika datanya normal, tapi apabila terdapat data null sebagai Contoh
DECLARE
KALIMAT varchar2(100):=’DD_MASTER,,TRAN_HIST,TASPEN’;
kata varchar2(100):=null;
c number:=0;
BEGIN
FOR i in 1..length(KALIMAT)
LOOP
if substr(kalimat,i,1)=’,’ then
c:=c+1;
end if;
END LOOP;
–Maka ada perubahan di script yang ditebalkan
FOR i in 1..c
LOOP
kata:= substr(KALIMAT,1,instr(KALIMAT,’,’)-1);
if kata||’,’=”||’,’ then
kalimat := substr(kalimat,2,length(kalimat));
else
kalimat := substr(kalimat,length(kata||’,’)+1,length(kalimat));
end if;
if i=c then
dbms_output.put_line(‘kata=’||kata);
dbms_output.put_line(‘kalimat=’||kalimat);
else
dbms_output.put_line(‘kata=’||kata);
end if;
END LOOP;
END;
Leave a Reply