×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: SQL
Posted by: Jon Nickerson
Added: Nov 8, 2017 2:38 PM
Views: 12
Tags: no tags
  1. DECLARE
  2.         delim        varchar2(10) := ':'; /*Apex uses a colon as delimiter*/
  3.         grab_first   varchar2(20) := '[^' || delim || ']+';
  4.         delim_first  varchar2(20) := '^.*?' || delim;
  5.         to_split     varchar2(300) := string_ || delim; /*'char0<delim>char1<delim>char2<delim>char3'*/
  6.         split_cache  varchar2(300);
  7.         split_result varchar2(300);
  8. BEGIN
  9.         split_cache := to_split;
  10.         while TRIM(UPPER(REPLACE(substr(split_cache
  11.                                                                                                                                  ,instr(split_cache, delim, 1, 1)
  12.                                                                                                                                  ,1)
  13.                                                                                                         ,delim
  14.                                                                                                         ,'X'))) = 'X'
  15.         loop
  16.                 split_result := TRIM(regexp_substr(split_cache, grab_first, 1, 1, 'i'));
  17.                 INSERT INTO some_table (some_column) VALUES (split_result);
  18.                 commit;
  19.                 split_cache := regexp_replace(split_cache, delim_first, '');
  20.         END loop;
  21. END;