View, einzelne Spalten Ergebnis von Stored procedures?
-
MSSQL
Ich habe ein Formular via MS Access zu präsentieren, deren Felder sich ziemlich kompliziert aus verschiedensten Tabellen und Spalten einer MSSQL-Datenbank zusammensetzen die nur via Internet erreichbar ist - d.h. ich möchte eigentlich nur noch die fertigen Zahlen übertragen müssen.
Nun sind die Zahlen aber nicht einfach ein JOÌN-Produkt einzelner Tabellen ... teilweise muss ich da mit Procedures arbeiten usw.
Projekt ID - kumuliertes EBIT aus den Vorjahren - kumulierte Sales aus den Vorjahren - Schätzwärt für heuriges EBIT - derzeitige Sales heuer usw.
Kann ich diese Spalten via Stored procedures berechnen und das Ergebnis dann via einer View bereitstellen die ich in MS Access ganz einfach einbinden kann? Das ganze muss nicht updateable sein.
MfG SideWinder
-
Oder soll ich da aus mehreren Schichten Views zusammenbauen die dann in einer Hauptview resuliteren?
Also eine View die die Projekte selektiert.
Danach eine die für diese Projekte die Sales holt.
Eine die für diese Projekte das EBIT holt.
usw.und eine öffentliche die dann quasi das Endergebnis zusammenjoint? Ist das performant?
MfG SideWinder
-
Hi,
Disclaimer: Ich habe sehr wenig Erfahrung mit MSSQL, ich bin Postgres bzw. notfalls Oracle-User und muss auch öfters mit MySQL hantieren als mir lieb ist.
SideWinder schrieb:
und eine öffentliche die dann quasi das Endergebnis zusammenjoint? Ist das performant?
Das hörst Du jetzt vermutlich nicht gerne, aber das wirst Du ausprobieren müssen.
Normalerweise sollte sowas schon recht schön performant machbar sein, wobei es natürlich stark davon abhängt, wie Deine jeweiligen Joins aussehen. EXPLAIN (PLAN) sollte ab jetzt zu Deinem engsten Freundeskreis gehören.
(Bei MSSQL wirst Du nach SHOWPLAN_ALL googeln wollen, IIRC.)
Aber: Ich mag zusammengelayerte Views sehr gerne, wenn nicht gerade irgendwas dagegenspricht, sowas zu verwenden.