With this
PROCEDURE \"ADD_BOOKMARK_GROUP\" ( \"NAME\" IN VARCHAR2, \"BOOKMARK_GROUP_ID\" IN NUMBER, \"STAFF_ID\" IN VARCHAR2, \"MAX_NO\" IN INT,
Not an answer to the question but you can use 'insert ... returning ... into ' in stead of select bgt_sequence.currval from dual, for example:
begin insert into test (id) values(test_seq.nextval) returning id into p_id; end;
See http://www.adp-gmbh.ch/ora/sql/insert_into_x_returning_y.html