액세스중인 데이터베이스가 Snowflake에 있습니다. 배후의 저장 세부 사항에 대해서는 확실하지 않습니다.select 문에서 여러 스키마 선택
CREATE VIEW all_data AS
SELECT * FROM db.schema1.data UNION ALL
SELECT * FROM db.schema2.data UNION ALL
SELECT * FROM db.schema3.data
이 쿼리가 매일 실행됩니다 :
나는 즉, 동일한 데이터베이스에서 별도의 스키마에 저장 41 개 데이터 테이블에서 새 뷰를 작성 이런 식으로 뭔가를 보이는 지금 쿼리가 있습니다. 내 문제는 새로운 데이터 테이블을 며칠에 한 번씩 추가하고 별도의 스키마 아래에 저장되어 있으므로 새 테이블을 포함하도록 쿼리를 수동으로 편집해야한다는 것입니다 (그리고 스키마의 명명 스키마도 일관성이 없습니다. 나의 통제 밖의 이유). 새 스키마 + 테이블을 추가 할 때 수동 업데이트가 필요없이 매일 쿼리를 실행할 수있는 하위 쿼리를 사용하여 데이터베이스 내의 모든 스키마를 선택할 수있는 방법이 있습니까?
나는 다소
CREATE VIEW all_data as
SELECT * FROM [SELECT schemas from db].data
하지만 그것이 어떻게 작동하는지 확인하는 방법과 제대로 조합 결과 데이터를에 같은 구조를 가지고 결과 쿼리를하고 싶습니다.
이 태그는 RDBMS에 반드시 태그해야합니다. SQL 서버? 신탁? mysql? .... 또한 SQL Server에 대한 대답은 동적으로 식별 된 스키마를 해당 방식으로 자동으로 선택할 뷰를 만들 수 없다는 것입니다. 그러나 동적 SQL을 사용하여 스토어드 프로 시저를 작성하거나, 스토어드 프로 시저를 작성하여 뷰에 대한 쿼리를 실행하기 전에 존재하는 스키마를 기반으로 뷰를 변경하고 다시 작성하고 실행할 수 있습니다. – Matt
눈송이에서 실행 중입니다. 실제로 그 백엔드가 무엇인지 확실하지 않습니다. –
알았어. 내가 딱 맞는 것을 태그했지만 체크 아웃했다고 생각해. 죄송합니다. 특정 플랫폼을 사용하지 않았으므로 도움을 드릴 수 없습니다. – Matt