跨資料庫 SQL 查詢擷取表名
建立與各種資料庫系統互動的應用程式需要一致的資料檢索方法。 本文解決了使用 SQL 從特定資料庫取得表格名稱的挑戰,確保不同伺服器類型之間的相容性。雖然 INFORMATION_SCHEMA.TABLES
視圖提供了看似通用的方法,但跨資料庫的模式處理差異需要調整。
簡單的查詢方法INFORMATION_SCHEMA.TABLES
可能會無意中從所有資料庫傳回表。 要將結果限制為單一資料庫,需要針對特定資料庫進行修改。
SQL Server:
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG = 'dbName'</code>
將 'dbName'
替換為實際的資料庫名稱。
MySQL:
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA = 'dbName'</code>
再次將 'dbName'
替換為您的目標資料庫名稱。
甲骨文:
Oracle 的方法略有不同;通常使用 DBA_TABLES
視圖。 確切的查詢可能會因權限而異,但常見的方法是:
<code class="language-sql">SELECT table_name FROM dba_tables WHERE owner = 'dbName'</code>
這裡,'dbName'
代表資料庫擁有者或架構名稱。 請注意,存取 DBA_TABLES
需要適當的權限。
透過採用這些特定於資料庫的調整,您可以創建強大的應用程序,無論底層資料庫系統如何,都能夠從指定資料庫檢索表名。 這確保了功能的一致性並簡化了不同環境中的資料庫互動。
以上是如何跨不同伺服器類型使用 SQL 一致地從特定資料庫檢索表名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!