2013-10-01 3 views
9

Ich sehe viel Debatte über 'Select' als DML aufgerufen wird. Kann mir jemand erklären, warum seine DML keine Daten über das Schema manipuliert? Da es Sperren auf Tabelle setzt, sollte dies DML sein?Warum 'Select' als DML-Anweisung aufgerufen wird?

* In Wikipedia * kann ich sehen,

„Die rein schreibgeschützt SELECT-Abfrage-Anweisung mit den 'SQL-Daten Aussagen eingestuft [2] und so wird von der Norm betrachtet außerhalb von DML.Das SELECT ... INTO-Formular wird als DML betrachtet, da es Daten manipuliert (dh modifiziert). In der gängigen Praxis wird diese Unterscheidung jedoch nicht getroffen und SELECT wird weithin als Teil von DML betrachtet . [3] "

Aber in SELECT * FROM INSERT wählen Sie nur Auswahl nichts anderes als diese! Bitte helfen Sie mir, dieses Konzept zu verstehen.

Dank

+0

Was verstehen Sie nicht in der Wikipedia-Auszug? –

+0

"wird nur Auswahl nichts anderes als diese durchführen" - Sie betrachten es nicht erstellen eine Tabelle und Einfügen von Daten in diese Tabelle etwas "anderes" als nur Auswahl? –

+0

@ X.L ANt Betrachten Sie die Auswahl als DML?Wenn ja, bitte erläutern Sie mir, was es Daten manipuliert? – saTech

Antwort

6

Die Unterscheidung, die Menschen in der Regel zwischen DDL (Data Definition Language, das heißt die Verwaltung von Schemaobjekte) und DML (Data Manipulation Language, das heißt die Verwaltung von Daten innerhalb des Schemas von DDL erstellt wurden) machen ist. Ein SELECT ist eindeutig kein DDL.

+0

Nur ein Scherz wie SELECT ist nicht DDL, warum sollten wir dies als DML aufnehmen? sollte DML ich als Datenverwaltungssprache verstehen müssen? – saTech

+1

Nun, Sie können Gruppierung und Aggregation tun und Joins mit einem SELECT, die Daten in einer Weise manipulieren, zumindest in der Art und Weise, wie es dargestellt wird. Der Hauptunterschied für mich ist: DDL erstellt das Schema. DML verwendet das Schema. – Thilo

+0

Ich bin live Ich mache hier eine gesunde Diskussion. Wenn ich nicht falsch bin Gruppierung und Aggregation manipulieren die Daten nicht! Ich stimme zu, dass DML das Schema verwendet und DDL erstellt, Schema verwendet (ändert). Wenn Sprache Scehma verwendet, können wir es als DMl ?? – saTech

1

Datenmanipulationssprache (DML) ist ein Vokabular zum Abfragen/Abrufen und Arbeiten mit Daten. Gehen Sie nicht mit dem Wort Manipulation, eine solche Aussage ermöglicht sowohl den Datenzugriff als auch die Verarbeitung. Wie Sie Fragen mit SQL Server 2005 folgenden Link markiert haben, können genannt werden:

http://technet.microsoft.com/en-US/library/ms177591(v=SQL.90).aspx

+0

http://en.wikipedia.org/wiki/Data_Manipulation_Language Es steht "Die rein schreibgeschützte SELECT-Abfrageanweisung wird mit den SQL-Datenanweisungen [2] klassifiziert und wird daher vom Standard als außerhalb von DML betrachtet Das SELECT ... INTO-Formular wird als DML betrachtet, da es Daten manipuliert (dh modifiziert). In der allgemeinen Praxis wird diese Unterscheidung jedoch nicht getroffen, und SELECT wird weithin als Teil von DML angesehen. [3] " – saTech

0

Warum Select ist DML-Anweisung in SQL?

Click here for Link

Die SELECT INTO Form ... manipuliert ist, oder die Daten modifiziert.

Für zB

SELECT Column1, Spalte2 INTO Destination
VON
Source

Copy Coumn1, Spalte2 Von Source zu Destination.

So wählen ist dml Anweisung

+0

SELECT Spalte1, Spalte2 INTO Zieltabelle FROM SourceTable), dies ist in Oracle möglich. –

Verwandte Themen