共用方式為


FILE_IDEX (Transact-SQL)

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

適用於:SQL Server (SQL Server 2008 至目前版本)。

主題連結圖示 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.擷取指定檔案的檔案識別碼

下列範例會傳回 AdventureWorks_Data 檔案的檔案識別碼。

USE AdventureWorks2012;
GO
SELECT FILE_IDEX('AdventureWorks2012_Data')AS 'File ID';
GO

以下為結果集:

File ID 
------- 
1
(1 row(s) affected)

B.當檔案名稱未知時,擷取檔案識別碼

下列範例會從檔案類型等於 1 (記錄) 的 sys.database_files 目錄檢視中,選取邏輯檔案名稱來傳回 AdventureWorks 記錄檔的檔案識別碼。

USE AdventureWorks2012;
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';

請參閱

參考

中繼資料函數 (Transact-SQL)

sys.database_files (Transact-SQL)

sys.master_files (Transact-SQL)