AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Brauche hilfe bei SQL-Statement
Thema durchsuchen
Ansicht
Themen-Optionen

Brauche hilfe bei SQL-Statement

Ein Thema von Jumpy · begonnen am 24. Mai 2011 · letzter Beitrag vom 26. Mai 2011
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#11

AW: Brauche hilfe bei SQL-Statement

  Alt 25. Mai 2011, 22:10
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...
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#12

AW: Brauche hilfe bei SQL-Statement

  Alt 25. Mai 2011, 23:01
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
Gruß, Jo
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#13

AW: Brauche hilfe bei SQL-Statement

  Alt 26. Mai 2011, 10:57
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.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#14

AW: Brauche hilfe bei SQL-Statement

  Alt 26. Mai 2011, 11:00
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#15

AW: Brauche hilfe bei SQL-Statement

  Alt 26. Mai 2011, 12:33
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.
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:43 Uhr.
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