2017-10-16 3 views
0

与えられたリレーションがtableviewかどうかを判断するコマンドはありますか?テーブルをビューと区別するためのコマンド

私が使用している試行錯誤の方法が行うことです。それはtable、ないviewなら

SHOW CREATE VIEW table_name 

、私のデータベースソフトウェア(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秒です。

関連する問題