2017-10-16 15 views
0

주어진 관계가 table 또는 view인지 여부를 판별하는 명령이 있습니까?보기와 테이블을 구별하는 명령

내가 사용하고있어 시행 착오 방법이해야 할

입니다 :

SHOW CREATE VIEW table_name 

을 그것이 table 아닌 view 있다면, 내 데이터베이스 소프트웨어 (DBeaver에서 프레스토는) 나에게 오류를 줄 것이다 :

Relation table_name is a table , not a view

이 오류는 내 명령을 수사하기 위해 내부적으로 실행되는 비슷한 명령에서 비롯된 것 같습니다. view이라면 물론 명령이 작동합니다.

SELECT * FROM information_schema.tables 

은 자세한 내용은 Information Schema를 참조하십시오

+3

만약'SHOW CREATE ..'를 사용한다면 ** 특정 데이터베이스 엔진을 타겟으로하고 있습니다 ** 비표준 SQL입니다 –

+1

메타 데이터를 조회하는 표준 방법은 [정보 스키마] (https : // en.wikipedia.org/wiki/Information_schema). * 귀하의 * 데이터베이스 시스템이 그것을 구현하는지 여부는 말할 수 없습니다. 또한 가능한 한 많이 테이블과 뷰를 구별해서는 안됩니다. 테이블을보기로 바꾸거나 그 반대로 할 수 있어야하며 기존 코드를 무효화 할 수 있어야합니다. –

답변

1

다음은 view의있는 등 사용할 수있는 모든 테이블에 대한 정보의 테이블을 표시합니다 table들입니다.