declare
year number := to_char(sysdate,'yyyy'); min_year number := 2016; num number := 1; v_str varchar2(5000) := ''; beginwhile min_year <= year loop
-- DBMS_OUTPUT.PUT_LINE(min_year); if num > 1 then v_str := v_str || ','; end if ; v_str := v_str || min_year ; min_year := min_year +1; num := num + 1; end loop; v_str := 'regexp_substr(''' || v_str || ''',''[^,]+'',1,LEVEL)'; return('select ' || v_str || ' t,'|| v_str ||'v from dual CONNECT BY LEVEL < ' || num ); end