1) sequence.CURRVAL из DUAL - это одно дискретное значение;использование IN неуместно
2), поскольку вы ссылаетесь на sequence .CURRVAL, вам не нужно использовать подзапрос, вы можете получить доступ к этому значению напрямую.
try:
DELETE FROM table WHERE column = sequence.CURRVAL;
при условии последовательность используется как первичный ключ (где-то), что приведет к удалению самой последней записи вставляемого ключа илиесли столбец является внешним ключом, то только те записи, которые относятся к самой последней записи.
упс ... Я сделал достаточно запросов на удаление, чтобы не проверять свою работу.Хотя я никогда не думал использовать значения последовательности в удалении, мне никогда не приходило в голову, что вы не можете сделать это.
это, однако, будет работать:
declare del_key number;
begin
select seq_so_test.currval into del_key from dual;
delete from t_so_test where id = del_key;
end;