FILE_IDEX (Transact-SQL)

傳回目前資料庫中資料、記錄或全文檢索檔案之指定邏輯檔案名稱的檔案識別碼 (ID)。

主題連結圖示Transact-SQL 語法慣例

語法

FILE_IDEX ( file_name )

引數

  • file_name
    這是 sysname 類型的運算式,代表傳回檔案識別碼的檔案名稱。

傳回類型

int

NULL (發生錯誤時)

備註

file_name 對應於 sys.master_filessys.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';