牛魔王的故事
2019-11-05 14:36:18
我正在研究可以處理多個(gè)數(shù)據(jù)庫服務(wù)器(如“ MySQL”和“ MS SQL Server”)的應(yīng)用程序。我想使用適合所有數(shù)據(jù)庫類型的常規(guī)查詢來獲取特定數(shù)據(jù)庫的表名。我嘗試了以下方法:SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'但是它給出了特定服務(wù)器的所有數(shù)據(jù)庫的表名,但是我只想獲取所選數(shù)據(jù)庫的表名。如何限制此查詢以獲取特定數(shù)據(jù)庫的表?
3 回答

慕后森
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
可能是由于不同的sql dbms處理架構(gòu)的方式所致。
嘗試以下
對于SQL Server:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG='dbName'
對于MySQL:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA='dbName'
對于Oracle,我認(rèn)為可以使用DBA_TABLES。

慕婉清6462132
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
以下查詢將選擇Tables數(shù)據(jù)庫中所有名為的DBName:
USE DBName
GO
SELECT *
FROM sys.Tables
GO
- 3 回答
- 0 關(guān)注
- 842 瀏覽
添加回答
舉報(bào)
0/150
提交
取消