MS-SQL Tabellendaten kopieren und dann löschen
Hi
ich habe von SQL-Scripten nur sehr wenig Kenntnisse, vielleicht kann mir hier einer sagen wie man das schnell und einfach lösen kann, idealerweise mit SQL Scripten .
Ich habe in einer SQL Datenbank eine Logging Tabelle die allmählich zu groß wird und wo ich einen Teil der Einträge in eine separate DB verschieben möchte, die Einträge können nicht einfach gelöscht werden sollen aber aus der ERP Datenbank verschwinden.
Datenbankfelder der Quellentabelle
Datumsformat:
Was ich nun brauche ist ein Skript das mir die Einträge die älter wie 18 Monate sind in die andere Datenbank kopiert und diese dann aus der ursprünglichen Tabelle löscht, ich hab keine Ahnung wie man das macht
Vielen Dank schon mal im Voraus
Gruß
@clSchak
ich habe von SQL-Scripten nur sehr wenig Kenntnisse, vielleicht kann mir hier einer sagen wie man das schnell und einfach lösen kann, idealerweise mit SQL Scripten .
Ich habe in einer SQL Datenbank eine Logging Tabelle die allmählich zu groß wird und wo ich einen Teil der Einträge in eine separate DB verschieben möchte, die Einträge können nicht einfach gelöscht werden sollen aber aus der ERP Datenbank verschwinden.
Datenbankfelder der Quellentabelle
SELECT TOP (1000) [timestamp]
,[Entry No_]
,[Date and Time]
,[Time]
,[User ID]
,[Table No_]
,[Field No_]
,[Type of Change]
,[Old Value]
,[New Value]
,[Primary Key]
,[Primary Key Field 1 No_]
,[Primary Key Field 1 Value]
,[Primary Key Field 2 No_]
,[Primary Key Field 2 Value]
,[Primary Key Field 3 No_]
,[Primary Key Field 3 Value]
,[Record ID]
FROM [dbname].[dbo].[Tabelle]
Datumsformat:
2010-05-25 07:54:48.187
Was ich nun brauche ist ein Skript das mir die Einträge die älter wie 18 Monate sind in die andere Datenbank kopiert und diese dann aus der ursprünglichen Tabelle löscht, ich hab keine Ahnung wie man das macht
Vielen Dank schon mal im Voraus
Gruß
@clSchak
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 340204
Url: https://administrator.de/contentid/340204
Ausgedruckt am: 23.11.2024 um 11:11 Uhr
5 Kommentare
Neuester Kommentar
Moin,
Grundsätzlich kannst du ja Daten mit einem Insert Into... Select... in eine andere Tabelle kopieren:
Hilfe dazu hier oder hier
Dann baust du noch eine Where Bedingung ein, alá
Hilfe: https://msdn.microsoft.com/de-de/library/ms186819.aspx
Löschen dann halt ähnlich:
Am besten dazwischen mit Transacts arbeiten, dass wenn etwas in die Buchse geht, man wieder zurück gehen kann...
Gruß
em-pie
P.S. die obigen Hilfen sind für MS SQL ausgelegt, für MySQL wird die Syntax vermutlich ähnlich lauten...
Grundsätzlich kannst du ja Daten mit einem Insert Into... Select... in eine andere Tabelle kopieren:
Hilfe dazu hier oder hier
Dann baust du noch eine Where Bedingung ein, alá
WHERE MyDate < DATEADD(month, -18, GETDATE())
Löschen dann halt ähnlich:
DELETE * FROM myTable WHERE MyDate < DATEADD(month, -18, GETDATE())
Am besten dazwischen mit Transacts arbeiten, dass wenn etwas in die Buchse geht, man wieder zurück gehen kann...
Gruß
em-pie
P.S. die obigen Hilfen sind für MS SQL ausgelegt, für MySQL wird die Syntax vermutlich ähnlich lauten...