我想删除一些基于两个动态参数P1和P2(数字(的特定行
使用简单的Select语句:
SELECT * FROM TABLE WHERE (conditions) OFFSET P1 ROWS FETCH NEXT P2 ROWS ONLY;
我只是想删除这些行,但找不到正确的方法。我现在正在做的事情有点像,而且看起来不太好:
DELETE TABLE WHERE id in (SELECT id FROM TABLE WHERE (conditions) OFFSET P1 ROWS FETCH NEXT P2 ROWS ONLY);
使用主键或ROWID
访问行:
DELETE FROM mytable
WHERE rowid IN
(SELECT rowid FROM mytable WHERE (conditions) OFFSET p1 ROWS FETCH NEXT p2 ROWS ONLY);
当重复运行查询时,您将得到一个由p1行组成的表。但是正如请求注释中的粘性位所提到的:如果没有ORDER BY
,这些行将是任意的。