FILE_IDEX (Transact-SQL)
現在のデータベース内のデータ、ログ、またはフルテキスト ファイルについて、指定された論理ファイル名のファイル識別 (ID) 番号を返します。
構文
FILE_IDEX ( file_name )
引数
- file_name
sysname 型の式です。ファイル ID を返すファイルの名前を表します。
戻り値の型
int
エラーの場合には NULL が返されます。
説明
file_name は、カタログ ビュー sys.master_files または sys.database_files の、name 列に表示される論理ファイル名に対応します。
FILE_IDEX は、選択リスト、WHERE 句、または式が許容される任意の場所で使用できます。詳細については、「式 (Transact-SQL)」を参照してください。
例
A. 指定されたファイルのファイル ID を取得する
次の例では、AdventureWorks_Data というファイルのファイル ID が返されます。
USE AdventureWorks;
GO
SELECT FILE_IDEX('AdventureWorks_Data')AS 'File ID';
GO
以下に結果セットを示します。
File ID
-------
1
(1 row(s) affected)
B. ファイル名が不明の場合のファイル ID を取得する
次の例では、sys.database_files カタログ ビューからファイルの種類が 1 (ログ) に等しい論理ファイル名を選択することにより、AdventureWorks ログ ファイルのファイル ID を返します。
USE AdventureWorks;
GO
SELECT FILE_IDEX((SELECT name FROM sys.database_files
WHERE type = 1))AS 'File ID';
GO
以下に結果セットを示します。
File ID
-------
2
C. フルテキスト カタログ ファイルのファイル ID を取得する
次の例では、sys.database_files カタログ ビューからファイルの種類が 4 (フル テキスト) に等しい論理ファイル名を選択することにより、フルテキスト ファイルのファイル ID を返します。この例では、フルテキスト カタログが存在しない場合、NULL が返されます。
SELECT FILE_IDEX((SELECT name FROM sys.master_files WHERE type = 4))
AS 'File_ID';