2017-10-16 279 views
0

是否有確定給定關係是否爲tableview的命令?從視圖中區分表的命令

我使用的試驗和錯誤的方法做:

SHOW CREATE VIEW table_name 

如果它是一個table,而不是一個view,我的數據庫軟件(普雷斯托在DBeaver)會給我一個錯誤:

Relation table_name is a table , not a view

我認爲這個錯誤來自一個類似的命令在內部運行來審查我的查詢。如果它是view,則命令當然有用。

+3

如果您使用的是SHOW CREATE ..,那麼您的**是針對特定的數據庫引擎 - 這是非標準的SQL –

+1

查詢元數據的標準方法是[信息模式](https:// en.wikipedia.org/wiki/Information_schema)。 *你的*數據庫系統是否實現它我不能說。另外,請注意,儘可能多地,你*不應該區分表和視圖。您應該能夠用視圖替換表格(反之亦然),而不是使現有代碼無效。 –

回答

1

以下將顯示哪些是view S和其提供的所有表的信息,包括表是table S:

SELECT * FROM information_schema.tables 

詳情請參閱Information Schema