귀하의 질문에 약간의 불확실성이 있습니다. 그러나 일반적인 대답은 "예"입니다. 여기에 몇 가지 메커니즘은 다음과 같습니다
많은 데이터베이스는 update
구문에 직접 join
을 지원합니다. 이 경우 과 join
을 명시 적으로 쓸 수 있습니다.
많은 데이터베이스가 merge
문을 지원합니다. 이 경우 merge
은 update
과 많이 유사하며 join
을 허용합니다.
많은 데이터베이스가 뷰에서 트리거를 지원합니다. 이 경우 뷰에 업데이트 트리거를 쓸 수 있습니다. 실행되면 트리거가 뷰를 업데이트 할 수 있습니다.
일부 데이터베이스는 구체화 된보기를 지원합니다. 뷰 (조인 된 테이블을 가질 수 있음)입니다. 기본 데이터가 변경되면 구체화 된보기가 변경됩니다.
내가 추가하지 않은 다른 방법이있을 수 있습니다. 의심의 여지가, 당신이 사용하는 데이터베이스 중 하나 이상을 지원합니다.
편집 :
다시 한번, 나는 당신이 무슨 뜻인지 모르겠어요. "가상 테이블"에 대해 생각할 수있는 유일한 공식적인 사용은 외부 데이터 소스를 참조하는 SQLite의 특정 메커니즘입니다.
아마도 여러분이 정말로 원하는 것은 모두보기입니다. 이것은 표준이며 기본적으로 모든 데이터베이스에서 사용 가능합니다. 뷰 정의에 조인이있을 수 있습니다. 뷰가 실행될 때 결과는 원본으로 사용하는 테이블의 최신 버전에서 가져옵니다. 관련된 "업데이트"가 없습니다. 뷰를 정의하는 쿼리는이를 참조하는 쿼리가 실행될 때 (어떤 방식으로) 실행됩니다.
이것은 매우 DBMS에 따라 다릅니다. 어느 쪽을 사용하고 있습니까? 포스트그레스? 신탁? –
나는 그들이 MySQL을 사용한다고 생각한다. (나는 DBMS라고 생각한다.) – DerStrom8