집 >데이터 베이스 >MySQL 튜토리얼 >테이블의 각 행에 대해 SQL Server의 파일 존재를 어떻게 확인할 수 있습니까?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!