fn_listextendedproperty (Transact-SQL)

データベース オブジェクトの拡張プロパティの値を返します。

トピック リンク アイコン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 AdventureWorks2008R2;
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 AdventureWorks2008 Sample OLTP Database

(1 行処理されました)

B. テーブル内のすべての列の拡張プロパティを表示する

次の例では、ScrapReason テーブル内の列の拡張プロパティを一覧表示します。このテーブルは、Production スキーマに入っています。

USE AdventureWorks2008R2;
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 行処理されました)

C. スキーマ内のすべてのテーブルの拡張プロパティを表示する

次の例では、Sales スキーマ内にあるすべてのテーブルの拡張プロパティを一覧表示します。

USE AdventureWorks2008R2;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);
GO