FILE_IDEX (Transact-SQL)
傳回目前資料庫中資料、記錄或全文檢索檔案之指定邏輯檔案名稱的檔案識別碼 (ID)。
語法
FILE_IDEX ( file_name )
引數
- file_name
這是 sysname 類型的運算式,代表傳回檔案識別碼的檔案名稱。
傳回類型
int
NULL (發生錯誤時)
備註
file_name 對應於 sys.master_files 或 sys.database_files 目錄檢視中之 name 資料行中所顯示的邏輯檔案名稱。
FILE_IDEX 可以用在選取清單、WHERE 子句或運算式所允許的任何位置。如需詳細資訊,請參閱<運算式 (Transact-SQL)>。
範例
A. 擷取指定檔案的檔案識別碼
下列範例會傳回 AdventureWorks2008R2_Data 檔案的檔案識別碼。
USE AdventureWorks2008R2;
GO
SELECT FILE_IDEX('AdventureWorks2008R2_Data')AS 'File ID';
GO
以下為結果集:
File ID
-------
1
(1 row(s) affected)
B. 當檔案名稱未知時,擷取檔案識別碼
下列範例會從檔案類型等於 1 (記錄) 的 sys.database_files 目錄檢視中,選取邏輯檔案名稱來傳回 AdventureWorks2008R2 記錄檔的檔案識別碼。
USE AdventureWorks2008R2;
GO
SELECT FILE_IDEX((SELECT TOP(1)name FROM sys.database_files
WHERE type = 1))AS 'File ID';
GO
以下為結果集:
File ID
-------
2
C. 擷取全文檢索目錄檔的檔案識別碼
下列範例會從檔案類型等於 4 (全文檢索) 的 sys.database_files 目錄檢視中,選取邏輯檔案名稱來傳回全文檢索檔的檔案識別碼。如果全文檢索目錄不存在,此範例將會傳回 NULL。
SELECT FILE_IDEX((SELECT name FROM sys.master_files WHERE type = 4))
AS 'File_ID';