Ich versuche, eine SQL-Anweisung zu erstellen Datensätze mit einer bestimmten Bedingung um 1000 zu löschen, alles, was ich versuche, funktioniert jedoch nicht. Zum Beispiel habe ich versucht,Batch löschen in HSQLDB und SQuirreL
DECLARE @count int
SET @count = 1000
DELETE FROM HISTORY
WHERE HISTORYID IN (
SELECT TOP (@count) HISTORYID
FROM HISTORY
WHERE HISTTYPE = 14
)
aber DECLARE
nicht in HSQLDB nicht. Bitte geben Sie mir einen Hinweis, wie dies über SQL erreicht werden kann, nicht von der Java-Seite aus.
Der Grund ist einfach, ich habe Heap-Fehler, wenn es versucht, 150k Datensätze zu löschen, so möchte ich die Löschung in kleinere Stücke aufteilen.
Nicht, was ich versuchte zu erreichen. Ich kenne 'LIMIT', ich könnte das Gleiche mit Rownum erreichen. Ich versuche, eine Schleife in HSQLDB zu bekommen, so dass ich diese eine Anweisung nicht 100 oder sogar 1000 Mal manuell ausführen muss. – codeCompiler77