All pastes #759309 Raw Edit

Someone

public text v1 · immutable
·published 2007-11-03 00:54 UTC
rendered paste body
create or replace package body print as
  g_nr number := 0;
  g_nvl varchar(1) := '#';
  
  function check_nvl
    (p_a varchar2)
      return varchar2
        is
          begin 
            if not p_a in ('#', ';', '\', ':')
              then
                raise_application_error(-20000, 'Ongeldig NULL-teken.');
            end if;
            return p_a;
          end check_nvl;
          
  procedure set_nvl (p_a varchar2)
    is
      begin
          g_nvl := check_nvl(p_a);
      end set_nvl;
  
  
  procedure pr (p_tekst varchar2, p_dest varchar2 := 'S')
    is
      v_output varchar2(255) := substr(p_tekst, 1, 255);
        begin
          if v_output is null
            then 
              v_output := g_nvl;
          end if;
  
  if upper(p_dest) like '%S%'
    then
      dbms_output.put_line(v_output);
    end if;
  
  if upper(p_dest) like '%T%'
    then
      g_nr := g_nr + 1;
      insert into meldingen 
      (nr, melding)
      values
      (g_nr, v_output);
  end if;
end pr;

  procedure cleanup
    is
      begin
        delete from meldingen;
         g_nr := 0;
  end cleanup;
end print;