Ich habe nach einer Antwort zu diesem gesucht aber nicht sicher, ob ich nach den korrekten Bedingungen gesucht habe?Daten aus angegebenen Tabellennamen auswählen?
Ich hoffe, jemand kann helfen?
Ich habe eine Abfrage, die wie diese
select name
from CDSArchive.sys.tables
where name like '%OPARDENTIA%'
and create_date >= '01 apr 2016'
ORDER BY create_date DESC
sieht das mir eine Liste aller Tabellen in der Datenbank gibt. Diese Tabellen enthalten genau dieselben Spalten/Daten, es wird jedoch jeden Monat eine neue Tabelle erstellt, die die neuesten Daten einholt.
Wäre es möglich, etwas zu schreiben, das automatisch all diese Tabellen vereint, wenn es ausgeführt wird? Zum Beispiel würde ich es am Ende dieses Monats laufen lassen und es würde eine Ausgabe produzieren, die alle Tabellen unioned einschließlich der letzten Tabelle enthält, die an diesem Morgen produziert wurde?
Ich hoffe, jemand kann helfen?
Vielen Dank :)
Sie würden dies tun, indem Sie einen Job- oder DDL-Trigger einrichten, der eine Ansicht neu definiert, die die Tabellen kombiniert. Es ist jedoch sinnvoller, den Job zu ändern, der die Tabellen tatsächlich erstellt, um die Daten auch in eine einzelne Tabelle mit einer Spalte für den Ausführungsmonat zu übertragen. –
Ich stimme der Änderung des Jobs zu, jedoch kommen sie aus einer anderen Abteilung, so dass wir keine Kontrolle darüber haben, wie wir sie erhalten. Wie würde mein Code aussehen, der die Ansicht neu definiert? Ich wäre in der Lage, eine Ansicht zu erstellen, die alle Tabellen unioned hat, wenn ich den Tabellenname manuell gebe, aber ich möchte, dass sie sie automatisch vereinigt. Wenn eine neue Tabelle hinzugefügt wird, wird sie automatisch in die Union aufgenommen, ohne dass ich sie angeben muss. – jd8766