fn_listextendedproperty (Transact-SQL)
データベース オブジェクトの拡張プロパティの値を返します。
構文
fn_listextendedproperty (
{ default | 'property_name' | NULL }
, { default | 'level0_object_type' | NULL }
, { default | 'level0_object_name' | NULL }
, { default | 'level1_object_type' | NULL }
, { default | 'level1_object_name' | NULL }
, { default | 'level2_object_type' | NULL }
, { default | 'level2_object_name' | NULL }
)
引数
{ default | 'property_name' | NULL}
プロパティ名を指定します。property_name のデータ型は sysname です。有効な値は、default、NULL、またはプロパティ名です。{ default | 'level0_object_type' | NULL}
ユーザーまたはユーザーが定義した種類です。level0_object_type のデータ型は varchar(128) で、既定値は NULL です。有効な値は、ASSEMBLY、CONTRACT、EVENT NOTIFICATION、FILEGROUP、MESSAGE TYPE、PARTITION FUNCTION、PARTITION SCHEME、REMOTE SERVICE BINDING、ROUTE、SCHEMA、SERVICE、TRIGGER、TYPE、USER、および NULL です。重要 レベル 0 のオブジェクトの種類である USER および TYPE は、SQL Server の今後のバージョンで削除される予定です。新しい開発作業では、これらの機能の使用を避け、現在これらの機能を使用しているアプリケーションは修正するようにしてください。USER の代わりに、レベル 0 の種類として SCHEMA を使用してください。TYPE については、レベル 0 の種類として SCHEMA、レベル 1 の種類として TYPE を使用してください。
{ default | 'level0_object_name' | NULL}
指定したレベル 0 のオブジェクトの種類の名前です。level0_object_name のデータ型は sysname で、既定値は NULL です。有効な値は、default、NULL、またはオブジェクト名です。{ default | 'level1_object_type' | NULL}
レベル 1 のオブジェクトの種類です。level1_object_type のデータ型は varchar(128) で、既定値は NULL です。有効な値は、AGGREGATE、DEFAULT、FUNCTION、LOGICAL FILE NAME、PROCEDURE、QUEUE、RULE、SYNONYM、TABLE、TYPE、VIEW、XML SCHEMA COLLECTION、および NULL です。注意 default は NULL に相当し、'default' はオブジェクトの種類の DEFAULT に相当します。
{default | 'level1_object_name' | NULL}
指定したレベル 1 のオブジェクトの種類の名前です。level1_object_name のデータ型は sysname で、既定値は NULL です。有効な値は、default、NULL、またはオブジェクト名です。{ default | 'level2_object_type' | NULL}
レベル 2 のオブジェクトの種類です。level2_object_type のデータ型は varchar(128) で、既定値は NULL です。有効な値は、DEFAULT、default (NULL に相当します)、または NULL です。level2_object_type の有効な値は、COLUMN、CONSTRAINT、EVENT NOTIFICATION、INDEX、PARAMETER、TRIGGER、および NULL です。{ default | 'level2_object_name' | NULL}
指定したレベル 2 のオブジェクトの種類の名前です。level2_object_name のデータ型は sysname で、既定値は NULL です。有効な値は、default、NULL、またはオブジェクト名です。
戻りテーブル
次の表は、fn_listextendedproperty が返すテーブルの形式です。
列名 |
データ型 |
---|---|
objtype |
sysname |
objname |
sysname |
name |
sysname |
value |
sql_variant |
返されたテーブルが空の場合は、目的のオブジェクトに拡張プロパティがないか、またはユーザーがそのオブジェクトの拡張プロパティを一覧表示する権限を持っていないことを意味します。データベース自体の拡張プロパティを返す場合、objtype および objname 列は NULL になります。
説明
property_name の値が NULL または default である場合、fn_listextendedproperty は指定されたオブジェクトのすべてのプロパティを返します。
指定されたオブジェクトの種類に対応するオブジェクト名の値が NULL または default である場合、fn_listextendedproperty は指定された種類のすべてのオブジェクトの、すべての拡張プロパティを返します。
オブジェクトは、レベルによって区別されます。レベル 0 が最上位で、レベル 2 が最下位です。下位レベルであるレベル 1 または 2 のオブジェクトの種類および名前を指定する場合、親オブジェクトの種類と名前を、NULL または default 以外の値で指定する必要があります。それ以外の場合は、空のセットを返します。
例
A. データベースの拡張プロパティを表示する
次の例では、データベース オブジェクト自体のすべての拡張プロパティを表示します。
USE AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty(default, default, default, default, default, default, default);
GO
以下に結果セットを示します。
objtype objname name value
--------- --------- ----------- ----------------------------
NULL NULL MS_Description AdventureWorks Sample OLTP Database
(1 row(s) affected)
B. テーブル内のすべての列の拡張プロパティを表示する
次の例では、ScrapReason テーブル内の列の拡張プロパティを一覧表示します。このテーブルは、Production スキーマに入っています。
USE AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Production', 'table', 'ScrapReason', 'column', default);
GO
以下に結果セットを示します。
objtype objname name value
------- ----------- ------------- ------------------------
COLUMN ScrapReasonID MS_Description Primary key for ScrapReason records.
COLUMN Name MS_Description Failure description.
COLUMN ModifiedDate MS_Description Date the record was last updated.
(3 row(s) affected)
C. スキーマ内のすべてのテーブルの拡張プロパティを表示する
次の例では、Sales スキーマ内にあるすべてのテーブルの拡張プロパティを一覧表示します。
USE AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);
GO