Views

Es spielt keine Rolle, wie viele Tabellen einer relationalen beitreten durchläuft, unabhängig davon, ob es enthält eine GROUP BY-Klausel (oder irgendetwas anderes für diese Angelegenheit), alle Ergebnismengen zu manifestieren sich als eine oder mehrere Zeilen, die eine identische Sammlung enthalten eines oder mehr Spalten. Also, in einer Weise, Abfrage-Ergebnisse sind virtuelle Tabellen auf den zugrunde liegenden physischen Tabellen der Daten. Stellen Sie sich jetzt, wenn Sie eine Abfrage-Anweisung könnte und definieren Sie es als formales Objekt-Datenbank, auf die zugegriffen werden kann, wie eine Tabelle. Nun, Sie können-das ist, was heißt sehen. Der Code definiert einen Datenbank-View.

CREATE VIEW vwEmployee AS SELECT SSN, CompanyID, Vorname, Nachname, Geburtsdatum FROM Employee
  

Die fettgedruckte-Code ist nur ein Standard-SELECT-Anweisung, der Rest des Prospekts einfach kapselt die SELECT-Anweisung als eine formale, wiederverwendbare Datenbank-Objekt eine Ansicht mit einem formellen Namen. Nun, wenn Sie für alle Mitarbeiter, ohne ihre Gehälter sehen wollen, können Sie einfach die folgenden:

SELECT * FROM vwEmployee

Ebenso können Sie ausführlichere Fragen auf einen Blick auszuführen, als wäre es eine Tabelle, wie folgt:

SELECT SSN, Vorname + '' + LastName als Zuname, Geburtsdatum FROM WHERE vwEmployee DateOfBirth> '01 / 01/1960 'ORDER BY DateOfBirth DESC

In der Tat kann mal gefiltert, sortiert und trat wie jede körperliche Tabelle kann. Aufrufe der Regel verbergen Elemente der Daten, so dass das, was zurückgegeben macht nur die Daten, die benötigt wird. Die Elemente werden versteckt werden können bestimmte Spalten einer Tabelle, Zeilen in der Tabelle nicht erfuellen eine WHERE-Klausel zu tun, oder eine Kombination aus beidem. Grundsätzlich kann ein Blick Masken nicht mehr benötigte Daten aus Ihrer Anwendung. Diese Masken entweder vertikal oder horizontal. Eine vertikale Maske schützt bestimmte Spalten einer Tabelle an der Rückkehr und ist einfach die Definition Sammlung zugrunde liegenden Tabelle Spalten, die Ihrer Ansicht nach enthält. Eine horizontale Maske schützt bestimmte Zeilen einer Tabelle an der Rückkehr und wird einfach die WHERE-Klausel, die die Filterkriterien für die Ansicht liefert. Sie können auch kombinieren sowohl vertikale als auch horizontale Maskierung in der gleichen Ansicht. Der Code zum Beispiel gibt nur die SalesOrderID, Verkaufsdatum und OrderTotal Spalten nur die Aufträge mit einem Status von 20 Jahren.

CREATE VIEW vwFinishedSalesOrder AS SELECT SalesOrderID, Verkaufsdatum, Summe aus SalesOrder WHERE Status = 20

Views sind nicht auf einer einzigen Tabelle. In der Tat sind mal gesehen häufig verwendet, um kompliziert zu vereinfachen relationalen Verknüpfungen über mehrere Tabellen, so dass der Entwickler der Anwendung nicht nötig, sich um solche komplexen Anliegen und können stattdessen einfach auf die Anzeige relevanter Daten zu konzentrieren. Der Code definiert eine relationale Sicht.

CREATE VIEW vwEmployeeCompany AS SELECT e.SSN, e.Firstname + '' + e.Lastname AS Fullname, e.DateOfBirth, c.CompanyName FROM Employee e INNER JOIN Firma c ON e.CompanyID = c.CompanyID

Die ColdFusion-Entwickler können jetzt alle Mitarbeiter geboren früher als 1960 wählen, blenden Sie die Spalte salary, und zeigt den Namen des Unternehmens, für die jedes ihrer Werke, die alle von einfach wie folgt:

SELECT * FROM vwEmployeeCompany

Ebenso, dass Sie eine SELECT gegen diese Auffassung, dass der Gehalt der Kolonne, als aufgenommen durchzuführen versucht anzunehmen folgt:

SELECT SSN, Zuname, Geburtsdatum, Firma FROM VwEmployeeCompany WHERE Gehalt> 100000

INSERT INTO vwInventoryItem (ItemNumber, Beschreibung, UnitPrice, AvailableToSell) VALUES ( 'CAS30-BLK',
'30-Minute-Cassette, Black Case ', 1.05, 100) UPDATE SET vwInventoryItem Description = '30-Minute-Cassette, schwarzes Gehäuse, UnitPrice = 1,25, AvailableToSell = 90 WHERE ItemNumber =' CAS30-BLK "

 SELECT CompanyName, PLZ AUS Firma WHERE State = '# Trim (FORM.State) #' ORDER BY PLZ ASC 

Um eine gespeicherte Prozedur in Microsoft SQL Server aus der SQL-Logik in diesem CFQUERY Aufruf zu erstellen, fügen Sie den folgenden Code und führen Sie es mit der Datenbank-Server (unter Verwendung von Query Analyzer oder eine andere Batch-Processing-Tool).

CREATE PROCEDURE sp_GetCompanies (@ state char (2)) AS SELECT
CREATE PROCEDURE sp_GetCompanies (@ state char (2)) AS SELECT

Nachdem Sie den Code für die Datenbank ausführen, müssen Sie eine vorkompilierte gespeicherte Prozedur Objekt, sp_GetCompanies, die Sie von Ihrem ColdFusion-Anwendung aufrufen können.

Ein Artikel eingereicht von Roger Arling


Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle.
Wichtig: Dieser Artikel "Views" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.


Online: 249 users browsing the articles directory