Событие должно быть actions_intent_PERMISSION
с «s» в конце «action».
Простая и распространенная опечатка.
Используйте rowid
псевдостолбец.
DELETE FROM your_table
WHERE rowid not in
(SELECT MIN(rowid)
FROM your_table
GROUP BY column1, column2, column3);
, Где column1
, column2
, и column3
составляют ключ идентификации для каждой записи. Вы могли бы перечислить все свои столбцы.
Необходимо сделать маленький pl/sql блок с помощью курсора для цикла и удалить строки, которые Вы не хотите сохранять. Например:
declare
prev_var my_table.var1%TYPE;
begin
for t in (select var1 from my_table order by var 1) LOOP
-- if previous var equal current var, delete the row, else keep on going.
end loop;
end;
От DevX.com :
DELETE FROM our_table
WHERE rowid not in
(SELECT MIN(rowid)
FROM our_table
GROUP BY column1, column2, column3...) ;
, Где column1, column2, и т.д. является ключом, Вы хотите использовать.
DELETE FROM tablename a
WHERE a.ROWID > ANY (SELECT b.ROWID
FROM tablename b
WHERE a.fieldname = b.fieldname
AND a.fieldname2 = b.fieldname2)