CONSTRAINTS Es gibt unter Oracle mehrere Namensräume, und zwar einen für Tabellen, View, Sequenzen, Private Synonyme, benutzerdefinierte Datentypen je user, eine Namensraum für alle Indizes je user, einem Namensraum für alle CONSTRAINTS je user und einen generellen Namensraum mit Usernamen, Rollen und öffentlichen Synonymen. CONSTRAINT ohne Namen bekommen einen solchem vom System verpasst: SYS_scn; Ein…
Posts nach: hfeaskorn
Besonderheiten Kapitel 16
Hier geht es um hierarchische Abfragen mit CONNECT BY, werden auch als rekursive Abfragen bezeichnet. Rekursive Abfragen beziehen sich immer nur auf eine Tabelle und sind damit eine Art von SELFJOIN. Es steht schon einiges im Datenbank-Wiki : CONNECT-BY. Jede rekursive Abfrage mit CONNECT BY muss mindestens ein PRIOR enthalten. Neue Funktion: SYS_CONNECT_BY_PATH kann genutzt…
Besonderheiten Kapitel 15
Multitable INSERT Neben den bekannten Möglichkeiten, per SUBQUERY in einem CREATE TABLE-Befehl, einem INSERT , UPDATE oder DELETE große Datenmengen in einem Befehl zu ändern, gibt es noch den MULTITABLE INSERT (Oracle spezifisch) und den MERGE-Befehl (SQL-Standard). Mit dem Multi Tabler INSERT können verschiedene Tabellen gleichzeitig mit dem Ergebnis einer Unterabfrage unter einer WHEN-Bedingung gefüllt…
Fallstricke Kapitel 14
Die V$Views können nur für einfache Abfragen genutzt werden, Oracle garantiert keine Lesekonsistenz bei komplexen Abfragen, z.B. über Joins. Man kann Kommentare zu Tabellen oder Spalten einer Tabelle schreiben. Die View Dictionary ist der Einstiegspunkt in das Data Dictionary. USER_CATALOG enthält Infos über Tabellen, Views, Synonyme und Sequences, USER_OBJECTS zusätzlich über alle anderen Objekte mit…
Fallstricke Kapitel 12
Zu den Mengenoperatoren UNION, UNION ALL , INTERSECT und MINUS findet sich einiges im Datenbank-Wiki. z.B. in UNION , UNION ALL und Vereinigungskonform. UNION ALL eliminiert keine doppelten Einträge und ist daher schneller als UNION. Alle Mengenoperatoren UNION, UNION ALL , INTERSECT und MINUS haben die gleiche Priorität und werden daher nacheinander abgearbeitet. Ein SELECT…
Fallstricke Kapitel 5
Hier habe ich wenig gefunden, stimmt ziemlich genau mit der DBS1-Vorlesung überein. Prioritätsreihenfolge Boolescher, logischer Operatoren: siehe Logischer Operator ORDER BY Name oder Spaltennummer (position) Verwendung IS NULL oder IS NOT NULL Sortierung von alphanumerischen Spalten: Alphabetisch… Sortierung von Datumsfeldern: in der Zeitachse
Und hier der Link zum Organisatorischem…
Link zur Homepage faeskorn-woyke.de
Besonderheiten bei Unterabfragen
siehe auch: Unterabfrage in Unterabfrage, skalare Unterabfrage und last not least korrelierte Unterabfrage. Korrelierte Unterabfragen können nicht ohne äußere SELECT-Abfrage ausgeführt werden. Skalare Unterabfragen geben genau eine Zeile und einen Spalte zurück und können nicht in einem GROUP-BY-Ausdruck benutzt werden. Unterabfragen können auch zum Kopieren von Daten in einem CREATE TABLE verwendet werden, daneben auch…
Besonderheiten bei Aggregatfunktionen
COUNT(Spalte) zählt die von NULL verschiedenen Werte in einer Spalte, COUNT(*) auch die Zeilen, die komplett NULL sind. Alle Gruppenfunktionen ignorieren NULL-Werte im Gegensatz zu den Operatoren +, – * und /: 9 + NULL= NULL Aggregatfunktionen (Synonym: Gruppenfunktionen) können mit Single-Rowfunktionen geschachtelt werden. SELECT TRUNC(AVG(gehalt)) FROM angestellte, Tiefe der Schachtelung ist beliebig Zwei Gruppenfunktionen…
Besonderheiten beim einfachen SELECT
Oracle hat die Pseudocolumns ROWNUM und ROWID, die immer vorhanden sind und auch abgefragt werden können. Anstelle von DISTINCT kann auch UNIQUE in einer Abfrage genutzt werden, also z.B. SELECT UNIQUE Nachname FROM angestellte; DISTINCT und können allerdings in einer SELECT-Abfrage nur einmal verwendet werden: SELECT DISTINCT Nachname, DISTINCT vorname from angestellte; ist nicht zulässig. Die…