「選択」がDMLと呼ばれることについて多くの議論が見られます。 DMLがスキーマのデータを操作しない理由を説明できる人はいますか?テーブルにロックをかけるので、これはDMLである必要がありますか?
* ウィキペディア*見える
「純粋に読み取り専用のSELECTクエリステートメントは 'SQL-data'ステートメントでクラス化されているため[2]、標準ではDMLの外部にあると見なされています。SELECT... INTOフォームは、 (つまり、データを変更する)一般的な慣例では、この区別は行われず、SELECTはDMLの一部であると広く見なされています。[3] "
しかし、SELECT * FROM INSERTでは、selectはこれ以外の選択を実行しません。誰かがこの概念を理解するのを手伝ってください。
ありがとう
人々が通常行う違いは、DDL(データ定義言語、つまりスキーマオブジェクトの管理)とDML(データ操作言語、つまりDDLによって作成されたスキーマ内のデータの管理)の間です。明らかに、SELECTはDDLではありません。
データ操作言語(DML)は、データのクエリ/取得および操作に使用される語彙です。 Word Manipulationを使用しないでください。このようなステートメントにより、データのアクセスと処理の両方が可能になります。 SQL Server 2005で質問にタグを付けたので、次のリンクを参照できます。
http://technet.Microsoft.com/en-US/library/ms177591(v = SQL.90).aspx
SQLでDMLステートメントを選択する理由
SELECT ... INTOフォームは、データを操作または変更します。
例えば
SELECT Column1、Column2 INTO DestinationTable
から
SourceTable
Coumn1、Column2をSourceTableからDestinationTableにコピーします。
Selectはdmlステートメントです
SQL標準は、「データ操作」のSELECT部分を考慮します。
標準の初期バージョンは、オンラインで入手できます http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt
セクション13では、「データ操作」が定義されています。