Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Brauche hilfe bei SQL-Statement (https://www.delphipraxis.net/160653-brauche-hilfe-bei-sql-statement.html)

haentschman 25. Mai 2011 21:10

AW: Brauche hilfe bei SQL-Statement
 
Zitat:

Ist eine View letztlich nicht auch nur ein gespeichertes SQL-Statement, das bei Selects auf die View ausgeführt wird.
ja sicher.
Edit: Blödsinn entfernt...

jobo 25. Mai 2011 22:01

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
Pivot
rowtocol

Jumpy 26. Mai 2011 09:57

AW: Brauche hilfe bei SQL-Statement
 
Zitat:

Zitat von jobo (Beitrag 1102943)
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.

1. Für mein Verständnis: Was meinst du in dem Zusammenhang mit statisch und dynamisch?
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

p80286 26. Mai 2011 10:00

AW: Brauche hilfe bei SQL-Statement
 
Zitat:

Zitat von jobo (Beitrag 1102943)
Dynamisch empfiehlt sich seit einigen Versionen die Funktion rowtocol.

Zum besseren Verständnis, ist ROWTOCOL eine Standardfunktion, oder muß ich sie erst implementieren?

Code:
  8  ;
      ,rowtocol('select tableevent.Eventcode
       *
ERROR at line 2:
ORA-00904: "ROWTOCOL": invalid identifier

jobo 26. Mai 2011 11:33

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 12:53 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz