2013-10-01 3 views
9

Widzę, że debata na temat "Select" jest nazywana DML. Czy ktoś może mi wyjaśnić, dlaczego jego DML nie manipuluje danymi na temat schematu? Jak jego puts blokuje się na stole, czy to DML?Dlaczego "Wybierz" jest wywoływane jako instrukcja DML?

* W Wikipedii * widzę

„Czysto tylko do odczytu SELECT zapytania jest klasyfikowany z oświadczeniami 'SQL-data' [2], a więc jest uważany przez standard do być poza DML Forma SELECT ... INTO jest uznawana za DML , ponieważ manipuluje (to znaczy modyfikuje) dane.W powszechnej praktyce nie rozróżnia się jednak, a SELECT jest powszechnie uważany za jako część DML . [3] "

Ale w SELECT * FROM INSERT select dokona tylko wyboru niczego innego niż to !! Proszę, pomóż mi w zrozumieniu tej koncepcji.

Dzięki

+0

Czego nie rozumiesz w fragmencie Wikipedii? –

+0

"po prostu dokona selekcji nic poza tym" - nie uważasz, że tworzenie tabeli i wstawianie do niej danych jest "inne" niż tylko wybór? –

+0

@ X.L ANt Czy uważasz, że wybierasz jako DML?Jeśli tak, proszę wyjaśnij mi, czym manipulują dane? – saTech

Odpowiedz

6

Rozróżnienie że ludzie zwykle zrobić to między DDL (język definicji danych, czyli zarządzania obiektami schematu) oraz DML (język manipulacji danymi, tj zarządzania danymi w ramach schematu stworzonego przez DDL). Oczywiście SELECT nie jest DDL.

+0

Po prostu żartujemy, że SELECT to nie DDL, dlaczego powinniśmy uwzględnić to jako DML? czy DML powinienem rozumieć jako język zarządzania danymi? – saTech

+1

Cóż, możesz grupować i agregować oraz łączyć się z SELECT, który manipuluje danymi w pewien sposób, przynajmniej pod względem sposobu prezentacji. Główną różnicą dla mnie jest: DDL tworzy schemat. DML używa schematu. – Thilo

+0

Jestem na żywo Robię zdrową dyskusję tutaj. Jeśli się nie mylę, zgrupowanie i agregacja nie będą manipulować danymi! Zgadzam się, że DML używa sheme, a DDL tworzy, używa (zmienia) schemat. Jeśli langauge używa scehma, czy możemy go zgrupować jako DMl ?? – saTech

1

Język manipulacji danymi (DML) to słownictwo używane do wysyłania zapytań/pobierania i pracy z danymi. Nie manipuluj słowem Manipulation, takie oświadczenie umożliwia zarówno dostęp do danych, jak i ich przetwarzanie. Jak określili pytanie z SQL Server 2005 poniższego linku można określić:

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

+0

http://en.wikipedia.org/wiki/Data_Manipulation_Language Mówi "Wyrażenie zapytania SELECT tylko do odczytu jest klasyfikowane za pomocą instrukcji" SQL-data "[2] i dlatego standard uważa, że ​​jest poza DML Forma SELECT ... INTO jest uznawana za DML, ponieważ manipuluje (to znaczy modyfikuje) dane.W powszechnej praktyce jednak rozróżnienie to nie jest dokonywane, a SELECT jest powszechnie uważany za część DML. [3] " – saTech

0

Dlaczego Select jest instrukcją DML w SQL?

Click here for Link

SELECT ... INTO formie jest manipuluje lub modyfikuje dane.

Np

SELECT Kolumna1, Kolumna2 INTO DestinationTable
OD
SourceTable

Kopiowanie Coumn1, Kolumna2 Od SourceTable do DestinationTable.

So Select jest instrukcją dml

+0

SELECT Column1, Column2 INTO DestinationTable FROM SourceTable), jest to możliwe w Oracle. –