View Full Version : Views in SQL erstellen
Hallo - ich bin's schon wieder, diesmal im richtigen Forum, hoffe ich!
Ich wollte über SQL logische Dateien mit Schlüssel erstellen und habe es über CREATE VIEW versucht. Es ist mir aber nicht gelungen einen Primär-Schlüssel anzugeben. Kann ich den nur für Tabellen angeben?
Stimmt !
"Primary Key" gilt nur für die Tabelle selbst. Eine View kann die "Order by"-Klausel erhalten.
Für einen performanten Zugriff über SQL gibt es noch "Create Index" um dem Optimizer bessere Zugriffe zu ermöglichen.
In SQL-Programmen kann man den "Select" aber nur auf den Tabellen oder Sichten (Views) anwenden, Indizes werden von SQL automatisch ausgewählt.
Wenn man mit Standard RPG/LE zugreifen will, kommt man um DDS nicht herum.
Mit DDS lassen sich dann LF's erstellen, die allerdings nicht alle Möglichkeiten einer View ermöglichen.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>
Eine View kann die "Order by"-Klausel erhalten.
[/quote]
ab welchem Release ? Das würde einiges erleichtern
Gruß
Rolf
V4R4 Handbuch :
>>-CREATE VIEW--view-name--------------------------------------->
>-----+--------------------------------------------------------------------+>
| .-,------------------------------------------------------. |
| V | |
'-(-----column-name--+-------------------------------------+--+---)--'
| .-COLUMN-. |
'-FOR-+--------+--system-column-name--'
>----AS--+---------------------------------------+---subselect-->
| .-,--------------------------. |
| V | |
'-WITH-----common-table-expression---+--'
>-----+-------------------------------------+------------------><
| .-CASCADED--. |
'-WITH--+-----------+---CHECK OPTION--'
'-LOCAL-----'
Hallo Rolf,
in einer View darf nur ein Subselect angegeben werden, also kein order by.
ORDER BY ist die SQL Klausel mit der niedrigsten Priorität und kann nur für die Ergebnismenge angegeben werden.
Dieter
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von rmittag:
[CODE]
>>-CREATE VIEW--view-name[/quote]
Ich bleib bei DDS! Vielen Dank für die schnellen Antworten! Gruß Melanie