SQL Server でのファイルの存在の確認
ファイルの存在の確認は、データベース開発における一般的な要件です。 SQL Server では、xp_fileexist 拡張プロシージャを利用して、指定されたファイルがサーバー マシン上に存在するかどうかを確認できます。
次のシナリオを考えてみましょう。MyTable は、filepath 列にファイル パスを保存します。あなたのタスクは、これらのファイルがマシン上に存在するかどうかを判断し、一時列 IsExists をテーブルに追加して、それらのファイルが存在するかどうかを示すことです。
解決策:
ファイル存在の作成関数:
CREATE FUNCTION dbo.fn_FileExists(@path varchar(512)) RETURNS BIT AS BEGIN DECLARE @result INT EXEC master.dbo.xp_fileexist @path, @result OUTPUT RETURN cast(@result as bit) END; GO
計算列を MyTable に追加:
ALTER TABLE MyTable ADD IsExists BIT AS dbo.fn_FileExists(filepath);
既存のファイルを取得パス:
SELECT * FROM MyTable WHERE IsExists = 1;
代替アプローチ:
計算列の外で関数を使用したい場合は、以下を使用できます。次のクエリ:SELECT id, filepath, dbo.fn_FileExists(filepath) AS IsExists FROM MyTable;
可能落とし穴:
既知のファイルに対して関数が 0 を返した場合は、フォルダーとファイルのアクセス許可を調べてください。 SQL Server アカウントにファイルを読み取るための十分なアクセス権があることを確認してください。結論:
xp_fileexist プロシージャを利用し、ユーザー定義のこの機能を使用すると、SQL Server 環境内のファイルの存在を迅速に判断し、ファイル関連のタスクをより効率的に管理できます。
以上がSQL Server でファイルの存在を確認し、それをテーブルに示すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。