2013-10-01 36 views
9

Tôi thấy rất nhiều cuộc tranh luận về 'Chọn' được gọi là DML. Có thể một số giải thích cho tôi lý do tại sao DML của nó như là nó không thao tác bất kỳ dữ liệu trên lược đồ? Như đặt của nó khóa trên bàn nên đây là DML?Tại sao 'Chọn' được gọi là tuyên bố DML?

* Trong Wikipedia * tôi có thể thấy

"Những tuyên bố truy vấn đơn thuần chỉ đọc SELECT được phân loại với báo cáo các 'SQL dữ liệu' [2] và do đó được xem xét bởi các tiêu chuẩn để là bên ngoài DML ... Dạng thức INTO được coi là DML bởi vì nó thao tác (tức là sửa đổi) dữ liệu.Trong thực tế phổ biến mặc dù, sự phân biệt này không được thực hiện và SELECT được coi là rộng rãi là một phần của DML . [3] "

Nhưng trong SELECT * FROM INSERT chọn sẽ chỉ thực hiện lựa chọn không có gì khác hơn này !! Xin ai đó giúp tôi hiểu khái niệm này.

Cảm ơn

+0

Bạn không hiểu gì trong đoạn trích Wikipedia? –

+0

"sẽ chỉ thực hiện lựa chọn không có gì khác hơn" - bạn không xem xét nó tạo ra một bảng và chèn dữ liệu vào bảng đó một cái gì đó "khác" hơn là chỉ lựa chọn? –

+0

@ X.L ANt Bạn có cân nhắc chọn DML không?Nếu vậy xin vui lòng giải thích cho tôi những gì nó thao tác dữ liệu? – saTech

Trả lời

6

Sự khác biệt mà mọi người thường mắc phải là giữa DDL (dữ liệu ngôn ngữ định nghĩa, ví dụ: quản lý đối tượng schema) và DML (dữ liệu ngôn ngữ thao tác, ví dụ: quản lý dữ liệu trong giản đồ được tạo ra bởi DDL). Rõ ràng một CHỌN không phải là DDL.

+0

Chỉ đùa như CHỌN không phải là DDL tại sao chúng ta nên bao gồm điều này là DML? nên DML tôi cần phải hiểu như ngôn ngữ quản lý dữ liệu? – saTech

+1

Vâng, bạn có thể làm nhóm và tập hợp và tham gia với một SELECT mà thao tác dữ liệu trong một cách, ít nhất là trong cách nó được trình bày. Sự khác biệt chính đối với tôi là: DDL tạo lược đồ. DML sử dụng lược đồ. – Thilo

+0

Tôi sống Tôi đang thảo luận lành mạnh ở đây. Nếu i không sai nhóm và tập hợp sẽ không thao tác dữ liệu! Tôi đồng ý DML sử dụng sheme và DDL tạo ra, sử dụng lược đồ (thay đổi). Nếu langauge sử dụng scehma chúng ta có thể nhóm nó thành DMl ?? – saTech

1

Ngôn ngữ thao tác dữ liệu (DML) là từ vựng được sử dụng để truy vấn/truy xuất và làm việc với dữ liệu. Đừng đi theo từ Thao tác, câu lệnh đó cho phép truy cập và xử lý dữ liệu. Như bạn đã gắn thẻ câu hỏi với SQL Server 2005 liên kết sau đây có thể được giới thiệu:

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

+0

http://en.wikipedia.org/wiki/Data_Manipulation_Language Nó nói "Câu lệnh truy vấn SELECT chỉ đọc hoàn toàn được phân loại với các câu lệnh 'SQL-data' [2] và do đó được xem xét bởi tiêu chuẩn nằm ngoài DML Dạng SELECT ... INTO được coi là DML vì nó thao tác (tức là sửa đổi) dữ liệu, tuy nhiên, thực tế phổ biến là không được thực hiện và SELECT được coi là một phần của DML. [3] " – saTech

0

Tại sao chọn là câu lệnh DML trong SQL?

Click here for Link

Các SELECT ... INTO hình thức là thao túng hoặc sửa đổi dữ liệu.

Đối với ví dụ

CHỌN COLUMN1, --COLUMN2 VÀO DestinationTable
TỪ
SourceTable

Sao chép Coumn1, --COLUMN2 Từ SourceTable để DestinationTable.

Vì vậy, hãy chọn câu lệnh dml

+0

Is (SELECT Column1, Column2 INTO DestinationTable TỪ SourceTable), điều này có thể trong Oracle. –

Các vấn đề liên quan