web-dev-qa-db-ja.com

「選択」がDMLステートメントとして呼び出されるのはなぜですか?

「選択」がDMLと呼ばれることについて多くの議論が見られます。 DMLがスキーマのデータを操作しない理由を説明できる人はいますか?テーブルにロックをかけるので、これはDMLである必要がありますか?

* ウィキペディア*見える

「純粋に読み取り専用のSELECTクエリステートメントは 'SQL-data'ステートメントでクラス化されているため[2]、標準ではDMLの外部にあると見なされています。SELECT... INTOフォームは、 (つまり、データを変更する)一般的な慣例では、この区別は行われず、SELECTはDMLの一部であると広く見なされています。[3] "

しかし、SELECT * FROM INSERTでは、selectはこれ以外の選択を実行しません。誰かがこの概念を理解するのを手伝ってください。

ありがとう

14
saTech

人々が通常行う違いは、DDL(データ定義言語、つまりスキーマオブジェクトの管理)とDML(データ操作言語、つまりDDLによって作成されたスキーマ内のデータの管理)の間です。明らかに、SELECTはDDLではありません。

9
Thilo

データ操作言語(DML)は、データのクエリ/取得および操作に使用される語彙です。 Word Manipulationを使用しないでください。このようなステートメントにより、データのアクセスと処理の両方が可能になります。 SQL Server 2005で質問にタグを付けたので、次のリンクを参照できます。

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

1
Deepshikha

SQLでDMLステートメントを選択する理由

リンクはこちら

SELECT ... INTOフォームは、データを操作または変更します。

例えば

SELECT Column1、Column2 INTO DestinationTable
から
SourceTable

Coumn1、Column2をSourceTableからDestinationTableにコピーします。

Selectはdmlステートメントです

1
Arun Prakash

SQL標準は、「データ操作」のSELECT部分​​を考慮します。

標準の初期バージョンは、オンラインで入手できます http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt

セクション13では、「データ操作」が定義されています。

1
Colin 't Hart