FILE_IDEX (Transact-SQL)
傳回目前資料庫中資料、記錄或全文檢索檔案之指定邏輯檔案名稱的檔案識別碼 (ID)。
適用於:SQL Server (SQL Server 2008 至目前版本)。 |
語法
FILE_IDEX ( file_name )
引數
- file_name
這是 sysname 類型的運算式,代表傳回檔案識別碼的檔案名稱。
傳回類型
int
NULL (發生錯誤時)
備註
file_name 對應於 sys.master_files 或 sys.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';