我正在尝试从oracle数据表中删除41.6%的旧行(senstrig是日期格式):
DELETE FROM
(WITH RS AS (SELECT * FROM OLD_WIFISIGN WHERE SENSID= 1 ORDER BY SENSTRIG ASC))
WHERE ROWNUM <= (SELECT COUNT (*)/ 2.4 FROM RS);
但返回错误:
ORA-00928缺少SELECT
我已经尝试过多个版本,但是没有运气。
您能帮我怎样使这个“删除自”运行中?
将WITH
放在DELETE
之前:
WITH RS AS (SELECT * FROM OLD_WIFISIGN WHERE SENSID= 1 ORDER BY SENSTRIG ASC)
DELETE FROM OLD_WIFISIGN
WHERE ROWNUM <= (SELECT COUNT (*)/ 2.4 FROM RS);
还是有点奇怪,命令的目的是什么?