Оставив в стороне вопросы подводных камней,
замените _values на select _values from dual
например,
insert into _table (_fileds) values (_values)
замените на
insert into _table (_fileds) select _values from dual
и делайте в запросе все,что хотите, вплоть до групповых выборок из подзапросов
(к примеру, max+1 какого-нибудь поля из этой же таблицы)
аналогично с update