大きな値のデータ型の使用

Microsoft SQL Server 2005 では、max 指定子が導入されました。この指定子により、varcharnvarchar、および varbinary の各データ型の格納力が拡張されます。varchar(max)nvarchar(max)、および varbinary(max) は、総称して大きな値のデータ型と呼びます。大きな値のデータ型を使用すると、最大で 2^31-1 バイトのデータを格納できます。

ms178158.note(ja-jp,SQL.90).gifメモ :
sp_tableoption ストアド プロシージャの 'large value types out of row' オプションが OFF に設定されている場合、大きな値のデータ型の行内のストレージは 8,000 バイトに制限されます。このオプションが ON に設定されている場合は、行内に 16 バイトのルートが格納されます。詳細については、「sp_tableoption (Transact-SQL)」を参照してください。

大きな値のデータ型の動作は、それらに相当するより小さな値の各データ型 varcharnvarchar、および varbinary と変わりありません。この類似性により、SQL Server では、大きなサイズの文字データ、Unicode データ、およびバイナリ データをより効率的に格納したり、取得したりすることができます。

SQL Server では、大きな値のデータ型を使用すると、以前のバージョンの SQL Server のデータ型である textntext、および image では不可能だった操作を実行できます。たとえば、SQL Server 2005 では、大量のデータ (最大で 2^31 バイトの文字データ、バイナリ データ、および Unicode データ) を格納できる変数を定義できます。詳細については、「Transact-SQL 変数」を参照してください。

次の表は、大きな値のデータ型と、それらに相当する以前のバージョンの SQL Server の各データ型との関係を示しています。

大きな値のデータ型 以前のバージョンの LOB

varchar(max)

text*

nvarchar(max)

ntext*

varbinary(max)

image

* SQL Server Version 6.5 クライアントでは、ntext データ型がサポートされないので、nvarchar(max) が認識されません。

ms178158.note(ja-jp,SQL.90).gif重要 :
textntext、および image データ型ではなく、varchar(max)nvarchar(max)、および varbinary(max) データ型を使用します。

大きな値のデータ型の動作は、それらに相当するより小さな値のデータ型である varchar(n)nvarchar(n)、および varbinary(n) と変わりありません。次に、一部の特定のシナリオでの大きな値のデータ型の使用について説明します。

  • カーソル
    大きな値のデータ型の変数を定義できるので、FETCH の大きな値のデータ型の列から取得したデータはローカル変数に格納できます。詳細については、「FETCH (Transact-SQL)」を参照してください。
    大きな値のデータ型を使用しても、カーソルの種類の変換を強制するカーソルの使用方法には影響しません。
  • 大量の更新
    UPDATE ステートメントでは、基になる大きな値のデータ列に対して部分更新を実行する **.**WRITE( ) 句がサポートされるようになりました。これは、WRITETEXT および UPDATETEXT のテキスト ポインタ操作と同様です。WRITETEXT および UPDATETEXT は、以前のバージョンの SQL Server の textntextimage データ型でサポートされています。詳細については、「UPDATE (Transact-SQL)」を参照してください。
  • トリガ
    inserted テーブルと deleted テーブルの大きな値のデータ型の列参照では AFTER トリガを使用できます。詳細については、「CREATE TRIGGER (Transact-SQL)」を参照してください。
  • 文字列関数
    文字データやバイナリ データを操作できる組み込みの文字列関数が強化され、引数として大きな値のデータ型をサポートするようになりました。次の関数はその例です。

参照

概念

データ型 (データベース エンジン)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手