Also habe ich einen Bericht erstellt, der im Wesentlichen eine DML-Anweisung ausführt, die aus mehreren flüchtigen Tabellen erstellt wurde. Die Art, wie ich es gebaut habe, war, dass jede meiner temporären Tabellen im Wesentlichen von der vorherigen abgeleitet werden würde. Zum Beispiel definiere ich in meiner ersten Tabelle den 'Datensatz', während meine anderen temporären Tabellen meine 'Ausschlüsse' definieren, dann kombiniert meine letzte paar temporäre Tabelle alles und führt sie dann in einer abschließenden Abfrage aus.Gespeicherte Prozedur mit mehreren temporären Tabellen erstellen
Ich möchte diesen Bericht automatisieren, um Daten täglich zu ziehen, aber ich bin nicht sicher, ob ein Makro oder sp für es erstellen. Das größere Problem bei beiden Ansätzen ist, wie könnte ich jede temporäre Tabelle effektiv nutzen? Ich habe darüber nachgedacht, ALLE meine Tabellen in eine GIANT (1000+ Zeile) DML-Anweisung zu kombinieren, aber SURELY, es gibt sicher bessere, leichtere Möglichkeiten.
Jede Hilfe wird sehr geschätzt, danke!
Da Sie eine tägliche Datenübernahme erwähnt haben, benötigen Sie möglicherweise keine temporären Tabellen. Möglicherweise können Sie Staging-Tabellen verwenden. Dies sind normale Datenbanktabellen, die nicht Teil eines normalisierten oder Sternschemas sind. Ihr Zweck ist es, mit dem T-Teil eines ETL-Prozesses zu helfen. Anstatt ständig temporäre Tabellen zu erstellen, ersetzen Sie einfach den Inhalt Ihrer Staging-Tabellen. –
Eine andere Alternative wäre die Verwendung globaler temporärer Tabellen. Diese werden beim Zugriff instanziiert, sind sitzungslokal und werden in einem Benutzer-TEMP-Bereich anstelle von SPOOL realisiert. Die Tabellendefinitionen werden im Data Dictionary beibehalten, sodass Sie sie nicht zum Erstellen des Berichts in Ihr gesamtes SQL einbetten müssen. –