Я думаю, что MERGE - лучшее решение, но для полноты (и, чтобы избежать ужасного IF..THEN..ELSE, вы также можете использовать это:
create or replace PROCEDURE set_valor(p_variavel VARCHAR2, p_valor VARCHAR2) IS
BEGIN
BEGIN
INSERT INTO co_t_conf (nome_variavel,valor_variavel) values (p_variavel, p_valor);
EXCEPTION
WHEN dup_val_on_index THEN
UPDATE co_t_conf SET valor_variavel = p_valor WHERE none_variavel = p_variavel;
END;
COMMIT;
END;
Опять же, просто для полноты картины. MERGE - гораздо лучшее решение.