16

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

*ウィキペディアで *わかります

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

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

ありがとう

4

5 に答える 5

11

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

于 2013-10-01T08:04:06.073 に答える
2

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

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

于 2013-10-01T08:51:21.543 に答える
2

SQL 標準では、SELECT は「データ操作」の一部と見なされます。

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

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

于 2013-10-01T09:09:37.707 に答える