分享方式:


FILE_IDEX (Transact-SQL)

適用於:SQL Server Azure SQL 受控執行個體

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

Transact-SQL 語法慣例

語法

FILE_IDEX ( file_name )  

引數

file_name
類型是 sysname 的運算式,此運算式會傳回檔案名稱的檔案識別碼值 'FILE_IDEX'。

傳回型別

int

發生錯誤時傳回 NULL

備註

file_name 對應至 sys.master_filessys.database_files目錄檢視 name 資料行中所顯示的邏輯檔案名稱。

您可以在 SELECT 清單、WHERE 子句或支援使用運算式的任何位置使用 FILE_IDEX。 如需詳細資訊,請參閱運算式 (Transact-SQL)

範例

A. 擷取指定檔案的檔案識別碼

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

USE AdventureWorks2022;  
GO  
SELECT FILE_IDEX('AdventureWorks2022_Data') AS 'File ID';  
GO  

結果集如下所示。

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

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

此範例會傳回 AdventureWorks 記錄檔的檔案識別碼。 Transact-SQL (T-SQL) 程式碼片段會從 sys.database_files 目錄檢視選取邏輯檔案名稱,其中檔案類型等於 1 (記錄檔)。

USE AdventureWorks2022;  
GO  
SELECT FILE_IDEX((SELECT TOP (1) name FROM sys.database_files WHERE type = 1)) AS 'File ID';  
GO  

結果集如下所示。

File ID   
-------   
2  

C. 擷取全文檢索目錄檔的檔案識別碼

此範例會傳回全文檢索檔案的檔案識別碼。 T-SQL 程式碼片段會從 sys.database_files 目錄檢視選取邏輯檔案名稱,其中檔案類型等於 4 (全文檢索)。 如果全文檢索目錄不存在,此程式碼將會傳回 '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)