[SQL] MSSQL,Oracle如何找出所有資料表(Table)?所有欄位?

  • 27832
  • 0
  • SQL
  • 2019-09-27

[SQL] MSSQL,Oracle如何找出所有Table?

 

 

MSSQL

--登入的帳號在目前資料庫中可以存取的資料表
SELECT * FROM Information_Schema.TABLES

--登入的帳號在目前資料庫中可以存取的欄位
SELECT * FROM Information_Schema.COLUMNS

參考來源1有提供其他可以存取的資訊。

Oracle

--登入的帳號在目前資料庫中可以存取的DBA的資料表
SELECT * FROM DBA_TABLES
--登入的帳號在目前資料庫中可以存取的所有的資料表
SELECT * FROM ALL_TABLES
--登入的帳號在目前資料庫中可以存取的自己的資料表
SELECT * FROM USER_TABLES

參考來源2有詳細的說明這三個表的差異

Oracle Synonym

部份情況下,如果無法使用上面指令查到資料庫的TABLE名稱,可以嘗試用Oracle Synonym 進行搜尋

記得加Where 條件!!!!!!!!!! 
--登入的帳號在目前資料庫中可以存取的DBA的資料表
SELECT * FROM DBA_SYNONYM
--登入的帳號在目前資料庫中可以存取的所有的資料表
SELECT * FROM ALL_SYNONYM
--登入的帳號在目前資料庫中可以存取的自己的資料表
SELECT * FROM USER_SYNONYM

 

 


與每個人,一起分享所學到,所用到的,

若有錯誤,請您不吝指教,謝謝大家。