Ich schreibe ein Migrationsscript sql Server, um über alle geschnittenen Kalender in SD-Kalender mit einigen kleinen Änderungen zu kopieren. Ich schriebSql Server-Skript läuft weiter
WHILE (SELECT COUNT(*) FROM CUT_CALENDAR) > 0
BEGIN
DECLARE @ID INT
SELECT TOP 1 @ID = ID FROM CUT_CALENDAR
INSERT INTO SD_CALENDAR (NAME, CALENDAR_ROLE_ID,DESCRIPTION,USE_IN_CUTOFF,PTY_ID,LOCK_CODE,DATA_OWNER_ID,CNT_ID,NON_BUSINESS_DAYS_MONDAY,NON_BUSINESS_DAYS_TUESDAY,NON_BUSINESS_DAYS_WEDNESDAY,NON_BUSINESS_DAYS_THURSDAY,NON_BUSINESS_DAYS_FRIDAY,NON_BUSINESS_DAYS_SATURDAY,NON_BUSINESS_DAYS_SUNDAY,CCY_ID,CODE,VERSION,SEAL,LST_UPD_TS)
SELECT NAME, CALENDAR_TYP_ID,DESCRIPTION,'Y',PTY_ID,LOCK_CODE,DATA_OWNER_ID,CNT_ID,NON_BUSINESS_DAYS_MONDAY,NON_BUSINESS_DAYS_TUESDAY,NON_BUSINESS_DAYS_WEDNESDAY,NON_BUSINESS_DAYS_THURSDAY,NON_BUSINESS_DAYS_FRIDAY,NON_BUSINESS_DAYS_SATURDAY,NON_BUSINESS_DAYS_SUNDAY,CCY_ID,CODE,VERSION,SEAL,LST_UPD_TS
FROM CUT_CALENDAR
WHERE ID = @ID;
DELETE FROM CUT_CALENDAR WHERE ID = @ID
END
GO
CUT_CALENDAR folgende Skript enthält + - 30 Datensätze
Aber wenn ich dieses Skript ausführen, es läuft weiter und ich erhalte ein: java.lang.OutOfMemoryError: GC Obergrenze überschritten
Ich denke, das sagt, dass ich eine Endlosschleife gelegt habe, aber ich kann nicht sehen, wie. Kann mir jemand helfen?
Wie erhalten Sie Java-Fehler in SQL Server? –
Warum in eine Schleife? Sie können dies mit einem Set-basierten Ansatz tun. –
Ist der Autocommit eingeschaltet? –