![]() |
AW: Brauche hilfe bei SQL-Statement
Zitat:
Edit: Blödsinn entfernt... |
AW: Brauche hilfe bei SQL-Statement
Ja, ein View ist zunächst nur gespeichertes SQL.
Ein View ist aber auch ein gespeicherter Zusammenhang zwischen Objekten. Der kann z.B. zerstört werden durch DML und man bekommt es angezeigt (als Admin, wenn ein View betroffen ist), die Zusammenhänge und die Fehler durch Abhängigkeit. Der View kann ein Interface darstellen und und und .. und er kann angenehm aussehen, wie eine Tabelle. (das kann aber auch irritieren) :) Zum eigentlichen Thema, statisch kann man in Oracle je nach Version sicher mit XML Funktion oder mit Pivot arbeiten. Dynamisch empfiehlt sich seit einigen Versionen die Funktion rowtocol. z.B. so ![]() ![]() |
AW: Brauche hilfe bei SQL-Statement
Zitat:
2. rowtocol muss ich aber zuvor als Datenbakfunktion anlegen, oder? Und danke für die Links, da gibt es ja noch zig Möglichkeiten, wie man das machen kann. P.S.: Ein Nachteil einer View (und auch einer Datenbankfunktion) ist mir gerade eingefallen. Wenn irgendein aufräumwütiger Admin da drüber stolpert und denkt "Hat der Azubi gemacht? schon vor 2 Monaten? Braucht keiner - Weg damit", läuft auf einmal das Programm nicht mehr.:-D |
AW: Brauche hilfe bei SQL-Statement
Zitat:
Code:
8 ;
,rowtocol('select tableevent.Eventcode * ERROR at line 2: ORA-00904: "ROWTOCOL": invalid identifier |
AW: Brauche hilfe bei SQL-Statement
rowtocol muss als Funktion - so wie in dem Link aufgeführt- eingespielt werden. Wahlweise ginge es auch als Package Funktion.
Es gibt glaub ich verschiedene Varianten davon, Orginial stammt aus Ask Tom. Die Funktion lässt sich "dynamisch" verwenden, das Select wird ja als String-Parameter mitgegeben. Das ist natürlich bequem, hat aber den Nachteil, dass man keine bind variables nutzen kann. Die Pivot Variante ist "statisch", du musst ein festes SQL angeben. In einem Client, kannst Du das natürlich auch beliebig zusammensetzten (und mit bind variables bestücken) in einem View ist es statisch. Das ist aber ja nicht ungewöhnlich. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz