Monday, June 10, 2013

get_nextcode

/* Formatted on 2013/06/10 17:43 (Formatter Plus v4.8.8) */
CREATE OR REPLACE FUNCTION get_nextcode (
   p_table_name   VARCHAR,
   p_col_name     VARCHAR,
   p_length       NUMBER
)
   RETURN VARCHAR
IS
   v_query      VARCHAR (200);
   v_autocode   VARCHAR (50);
BEGIN
   v_query :=
         'select lpad(nvl(max(to_number('
      || p_col_name
      || '))+1,1),'
      || p_length
      || ',0) code from '
      || p_table_name;

   EXECUTE IMMEDIATE v_query
                INTO v_autocode;

   RETURN v_autocode;
END;
/

No comments:

Post a Comment