>데이터 베이스 >MySQL 튜토리얼 >테이블의 각 행에 대해 SQL Server의 파일 존재를 어떻게 확인할 수 있습니까?

테이블의 각 행에 대해 SQL Server의 파일 존재를 어떻게 확인할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-06 02:33:40364검색

How Can I Verify File Existence in SQL Server for Each Row in a Table?

SQL Server에서 파일 존재 확인

문제 설명

파일 경로가 포함된 테이블 제공 열에 저장되면 각 파일이 파일 시스템에 물리적으로 존재하는지 확인하는 작업이 수행됩니다. 목표는 기존 파일에 대해 "예", 존재하지 않는 파일에 대해 "아니요"를 나타내는 임시 열을 추가하는 것입니다.

해결책

이를 달성하기 위해 우리는 지정된 파일의 존재를 확인하는 master.dbo.xp_fileexist 확장 저장 프로시저를 사용할 수 있습니다. 하지만 이 기술을 테이블에 적용하려면 사용자 정의 함수가 필요합니다.

사용자 정의 함수

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

계산열 추가

테이블을 편집하여 IsExists라는 계산 열을 추가합니다. 표현식:

dbo.fn_FileExists(filepath)

사용법

이제 기존 파일이 있는 레코드를 간단히 선택할 수 있습니다.

SELECT * FROM dbo.MyTable where IsExists = 1

대체 사용법 (계산열 외부)

함수를 사용하려면 계산 열 외부:

select id, filename, dbo.fn_FileExists(filename) as IsExists
from dbo.MyTable

문제 해결

알려진 파일에 대해 함수가 0을 반환하는 경우 폴더 권한을 확인하고 SQL Server 계정에 읽기 전용이 있는지 확인하세요. 입장. 또한 폴더 보안 설정에 "네트워크 서비스" 계정을 추가하여 액세스 권한을 부여하세요.

위 내용은 테이블의 각 행에 대해 SQL Server의 파일 존재를 어떻게 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.