次の方法で共有


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 です。

    ms179853.note(ja-jp,SQL.90).gif重要 :
    レベル 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 です。

    ms179853.note(ja-jp,SQL.90).gifメモ :
    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、またはオブジェクト名です。

解説

property_name の値が NULL または default である場合、fn_listextendedproperty は指定されたオブジェクトのすべてのプロパティを返します。

指定されたオブジェクトの種類に対応するオブジェクト名の値が NULL または default である場合、fn_listextendedproperty は指定された種類のすべてのオブジェクトの、すべての拡張プロパティを返します。

オブジェクトは、レベルによって区別されます。レベル 0 が最上位で、レベル 2 が最下位です。下位レベルであるレベル 1 または 2 のオブジェクトの種類および名前を指定する場合、親オブジェクトの種類と名前を、NULL または default 以外の値で指定する必要があります。それ以外の場合は、空のセットを返します。

権限

オブジェクトの拡張プロパティを一覧表示する権限は、オブジェクトの種類によって異なります。すべての権限の一覧については、「データベース オブジェクトでの拡張プロパティの使用」を参照してください。

戻りテーブル

次の表は、fn_listextendedproperty が返すテーブルの形式です。

列名 データ型

objtype

sysname

objname

sysname

name

sysname

value

sql_variant

返されたテーブルが空の場合は、目的のオブジェクトに拡張プロパティがないか、またはユーザーがそのオブジェクトの拡張プロパティを一覧表示する権限を持っていないことを意味します。データベース自体の拡張プロパティを返す場合、objtype および objname 列は NULL になります。

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

参照

関連項目

sp_addextendedproperty (Transact-SQL)
sp_dropextendedproperty (Transact-SQL)
sp_updateextendedproperty (Transact-SQL)
sys.extended_properties (Transact-SQL)

その他の技術情報

拡張プロパティの表示

ヘルプおよび情報

SQL Server 2005 の参考資料の入手