Transact-SQL을 사용하여 FileTable 액세스
적용 대상: SQL Server
FileTable에서 Transact-SQL DML(데이터 조작 언어) 명령이 작동하는 방식에 대해 설명합니다.
FileTable에 대한 INSERT 작업
FileTable에 대해 INSERT 작업을 수행할 때는 다음 사항을 고려해야 합니다.
모든 파일 특성 열에 NOT NULL 제약 조건이 있습니다. 값을 명시적으로 설정하지 않으면 적절한 기본값이 제공됩니다.
INSERT 문에서 이름, path_locator, parent_path_locator 또는 파일 특성을 설정하는 경우 시스템 정의 제약 조건이 적용됩니다.
애플리케이션은 GetPathLocator(Transact-SQL) 함수에 파일 시스템 경로를 제공하여 파일 또는 디렉터리에 대한 path_locator를 가져올 수 있습니다.
FileTable에 대한 UPDATE 작업
FileTable에 대해 UPDATE 작업을 수행할 때는 다음 사항을 고려해야 합니다.
사용자 정의 데이터에 대한 업데이트가 허용됩니다.
INSERT 문에서 이름, path_locator, parent_path_locator 또는 파일 특성을 설정하는 경우 시스템 정의 제약 조건이 적용됩니다.
타임스탬프를 비롯한 다른 열에 영향을 주지 않고 file_stream 열의 FILESTREAM 데이터를 업데이트할 수 있습니다.
FileTable에 대한 DELETE 작업
FileTable에 대해 DELETE 작업을 수행할 때는 다음 사항을 고려해야 합니다.
행을 삭제하면 해당 파일 또는 디렉터리도 파일 시스템에서 제거됩니다.
행이 다른 파일 또는 디렉터리를 포함하는 디렉터리에 해당하는 경우 행 삭제가 실패합니다.
FileTable의 DML 작업에 적용되는 제약 조건
시스템 정의 제약 조건은 DML 작업이 파일 네임스페이스 계층 구조의 무결성을 손상시키지 않도록 합니다. 적용되는 제약 조건은 다음과 같습니다.
파일 또는 디렉터리의 이름을 설정하거나 변경하는 경우:
Windows 파일 및 디렉터리 명명 규칙이 적용됩니다.
부모 디렉터리에 있는 이름의 고유성이 적용됩니다.
path_locator 또는 parent_path_locator를 설정하거나 변경하여 파일 또는 디렉터리의 위치를 설정하거나 변경하는 경우:
고유성이 적용됩니다.
path_locator 및 parent_path_locator 값의 일관성을 포함하여 디렉터리 및 파일의 계층적 트리 일관성이 적용됩니다.
file_stream 열이 null이 아닌 경우 is_directory 값을 true로 설정할 수 없습니다. file_stream 열의 데이터는 행이 디렉터리가 아닌 파일을 나타낸다는 것을 나타냅니다.
파일 특성 열은 null일 수 없습니다. NOT NULL 제약 조건은 기본값으로 적용됩니다.
last_access_time 값은 last_write_time 및 creation_time 이전일 수 없습니다.
참고 항목
FileTable로 파일 로드
FileTable에서 디렉터리 및 경로 작업
파일 입출력 API를 사용하여 FileTable에 액세스
FileTable DDL, 함수, 저장 프로시저 및 뷰