CREATE VIRTUAL TABLE
CREATE VIRTUAL TABLE
이 페이지는 SQLite에서 가상 테이블을 생성하는 CREATE VIRTUAL TABLE 문에 대해 설명합니다. 가상 테이블은 모듈을 통해 정의된 사용자 지정 테이블로, 일반 테이블과 달리 파일 시스템의 특정 형식이나 외부 데이터 소스에 접근할 수 있게 해 줍니다. 이 문의 구문과 동작 방식을 간략히 살펴봅니다.
출처: 문서
본문
create-virtual-table-stmt:
CREATE VIRTUAL TABLE IF NOT EXISTS schema-name . table-name USING module-name ( module-argument ) ,
가상 테이블은 테이블처럼 보이지만 실제로 데이터베이스 파일에 정보를 저장하지 않는 외부 저장소 또는 계산 엔진에 대한 인터페이스입니다.
일반적으로 가상 테이블에서는 일반 테이블로 할 수 있는 모든 작업을 수행할 수 있지만, 가상 테이블에는 인덱스나 트리거를 생성할 수 없습니다. 일부 가상 테이블 구현은 추가 제한을 둘 수도 있습니다. 예를 들어 많은 가상 테이블은 읽기 전용입니다.
module-name은 가상 테이블을 구현하는 객체의 이름입니다. module-name은 CREATE VIRTUAL TABLE 문을 실행하기 전에 sqlite3_create_module() 또는 sqlite3_create_module_v2()를 사용하여 SQLite 데이터베이스 연결에 등록되어 있어야 합니다. module은 쉼표로 구분된 0개 이상의 인자를 받습니다. 인자는 괄호가 균형을 이루기만 하면 거의 모든 텍스트가 될 수 있습니다. 인자 구문은 충분히 일반적이어서 인자를 전통적인 CREATE TABLE 문의 열 정의처럼 보이게 만들 수 있습니다. SQLite는 모듈 인자를 해석하지 않고 모듈 구현의 xCreate 및 xConnect 메서드에 직접 전달합니다. 자체 인자를 구문 분석하고 해석하는 것은 모듈 구현의 책임입니다.
가상 테이블은 일반적인 DROP TABLE 문을 사용하여 삭제됩니다. DROP VIRTUAL TABLE 문은 없습니다.