データ操作言語 (DML) ステートメント (Transact-SQL)

Microsoft SQL Server 2005 では、さらに強力なデータのアクセスおよび処理を行うための新しい拡張クエリ構文要素が提供されます。

新しい DML 句とオプション

句またはオプション 説明

OUTPUT 句

INSERT、UPDATE、または DELETE ステートメントの一部として、呼び出し元のアプリケーションに、挿入、更新、または削除された行を返します。

WITH common_table_expression

SELECT、INSERT、UPDATE、または DELETE ステートメントのスコープ内で定義された、一時的な名前の付いた結果セットまたはビューを指定します。

.WRITE 句

部分更新が可能となり、UPDATE ステートメントの一部として varchar(max)nvarchar(max)、および varbinary(max) 型列が高性能になります。

拡張 DML ステートメントと句

ステートメントまたは句 説明

SELECT

次に示す新しい構文の項目を提供します。

  • WITH 共通テーブル式
  • TOP 式
  • ユーザー定義型値を選択するためのユーザー定義型列名

INSERT

次に示す新しい構文の項目を提供します。

  • WITH 共通テーブル式
  • TOP 式
  • OUTPUT 句

ユーザー定義型値の挿入に設定できます。

UPDATE

次に示す新しい構文の項目を提供します。

  • WITH 共通テーブル式
  • TOP 式
  • OUTPUT 句
  • ユーザー定義型値を更新するためのユーザー定義型列名
  • .WRITE 句

DELETE

次に示す新しい構文の項目を提供します。

  • WITH 共通テーブル式
  • TOP 式
  • OUTPUT 句

FOR 句

次に示す新しい FOR XML ディレクティブを提供します。

  • TYPE によって、クエリ結果を xml 型として検索できるようになります。
  • XMLSCHEMA によって、XSD スキーマの要求が可能になります。

入れ子になった FOR XML クエリに設定できます。

FROM

次に示す追加テーブル ソース構文を提供します。

  • APPLY
  • PIVOT/UNPIVOT
  • TABLESAMPLE
  • 一括列の別名

TOP

SELECT、INSERT、UPDATE、および DELETE ステートメントで使用できます。

SQL Server 2005 では、新しい DDL ステートメントも含まれます。詳細については、「データ定義言語 (DDL) ステートメント (Transact-SQL)」を参照してください。

新しい Service Broker 関連ステートメント

キューは SELECT ステートメントの対象にすることができますが、キューを INSERT、UPDATE、または DELETE ステートメントでは使用できません。SQL Server 2005 では、Service Broker オブジェクトの処理に対して次の DML ステートメントが導入されています。

ステートメント 説明

BEGIN DIALOG

2 つのサービスの間で新しいメッセージ交換を開始します。

BEGIN CONVERSATION TIMER

メッセージ交換に対するタイマを開始します。

END CONVERSATION

既存のメッセージ交換を終了します。

GET CONVERSATION GROUP

キュー上にある次に使用できるメッセージに対するメッセージ交換グループをロックします。

MOVE CONVERSATION

既存のメッセージ交換を別のメッセージ交換グループに関連付けます。

RECEIVE

キューから 1 つ以上のメッセージを取得します。

SEND

メッセージをサービスに送信します。

SQL Server 2005 では、Service Broker オブジェクトを処理するために新しい DDL ステートメントも含まれます。詳細については、「データ定義言語 (DDL) ステートメント (Transact-SQL)」を参照してください。

参照

その他の技術情報

Transact-SQL の新機能と拡張機能 (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手