SQLServer 2008には、テーブル構造の定義を表す「ユーザー定義テーブル型」というものがあります。
ユーザー定義テーブル型を使ってみる
SQLServer 2008には、テーブル構造の定義を表す「ユーザー定義テーブル型」というものがあります。
ユーザー定義テーブル型の宣言
ユーザー定義テーブル型の宣言は「CREATE TYPEステートメント」を使用します。
以下の例では「make_user_type」という名前のユーザー定義テーブル型を宣言しています。
CREATE TYPE make_user_type AS TABLE ( no int, name varchar(10), age int )
ユーザー定義テーブル型の使用方法
宣言を完了すると通常のデータ型と同じように使用できます。
DECLARE @user_data_type_tbl AS make_user_type
これで「make_user_type型」の「@user_data_type_tbl」という変数が
使用できます。
以下が使用例です。
-------------------------------------------------------------- --すにでユーザー定義型を作成していれば削除 -------------------------------------------------------------- SELECT name FROM sys.types WHERE name = 'make_user_type' IF @@ROWCOUNT <> 0 BEGIN DROP TYPE make_user_type END -------------------------------------------------------------- --ユーザー定義型を定義する -------------------------------------------------------------- CREATE TYPE make_user_type AS TABLE ( no int, name varchar(10), age int ) -------------------------------------------------------------- --ユーザー定義型の変数を定義する -------------------------------------------------------------- DECLARE @user_data_type_tbl AS make_user_type -------------------------------------------------------------- --データを挿入する -------------------------------------------------------------- INSERT INTO @user_data_type_tbl( no, name, age ) VALUES( 1, '太郎さん', 15 ) INSERT INTO @user_data_type_tbl( no, name, age ) VALUES( 2, '次郎さん', 18 ) INSERT INTO @user_data_type_tbl( no, name, age ) VALUES( 3, '三郎さん', 20 ) -------------------------------------------------------------- --データを検索する -------------------------------------------------------------- SELECT no, name, age FROM @user_data_type_tbl ORDER BY age
no | name | age |
---|---|---|
1 | 太郎さん | 15 |
2 | 次郎さん | 18 |
3 | 三郎さん | 20 |