oracle - 在删除语句中使用 rowid

标签 oracle sql-delete

使用 rowid 删除是否有任何严重的禁忌症?

DELETE FROM NETATEMP.SFAC_TESTATA_CASISTICHE
      WHERE ROWID IN (  SELECT MIN (ROWID)
                          FROM NETATEMP.SFAC_TESTATA_CASISTICHE
                      GROUP BY ID_CASO,
                               DESCRIZIONE_TECNICA,
                               DESCRIZIONE_ANALISI,
                               PDF,
                               SCARTI,
                               DATA_INIZIO_ANALISI,
                               DATA_FINE_ANALISI,
                               DATA_INSTRADAMENTO,
                               DATA_RISOLUZIONE,
                               STRINGA_RICERCA,
                               SETTIMANA,
                               DATA_INIZIO_SETT,
                               DATA_FINE_SETT,
                               FATTURAZIONE,
                               IN_ELABORAZIONE
                        HAVING COUNT (1) > 1);

最佳答案

如果您假设 min(rowid)返回“最早”行,然后是的,你有问题(因为它不会)

如果您使用 min(rowid)只是为了得到一个重复项(你不在乎哪个),那么不,那句话没有错。

关于oracle - 在删除语句中使用 rowid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11564459/

相关文章:

java - 如何在java中连接sql查询?

mysql根据select语句从同一个表中删除

postgresql - JPA:如何从其他表中删除用户和所有引用?

javascript - SQL 删除不起作用

php - 使用复选框删除 Mysql 行

MySQL删除多条记录

sql - 行集中、周期日期

sql - 无法在预建表上重新创建物化 View

sql - Oracle 查询中的条件 WHERE EXISTS

sql - 考虑到 Oracle 中的多个列,如何重新排序 DENSE_RANK 列?