다음을 통해 공유


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_locatorparent_path_locator 값의 일관성을 포함하여 디렉터리 및 파일의 계층적 트리 일관성이 적용됩니다.

  • file_stream 열이 null이 아닌 경우 is_directory 값을 true로 설정할 수 없습니다. file_stream 열의 데이터는 행이 디렉터리가 아닌 파일을 나타낸다는 것을 나타냅니다.

  • 파일 특성 열은 null일 수 없습니다. NOT NULL 제약 조건은 기본값으로 적용됩니다.

  • last_access_time 값은 last_write_timecreation_time 이전일 수 없습니다.

참고 항목

FileTable로 파일 로드
FileTable에서 디렉터리 및 경로 작업
파일 입출력 API를 사용하여 FileTable에 액세스
FileTable DDL, 함수, 저장 프로시저 및 뷰