SQL列出資料庫全部Tables方法

依照所使用資料庫引擎種類,下的指令各不相同.


MYSQL:

SELECT * FORM INFORMATION_SCHEMA.TABLES WHERE (TABLE_TYPE = 'BASE TABLE') AND (TABLE_SCHEMA = 'dbo')


上面是網路搜尋一開始找到的答案(一般均去掉Where以後的指令),但此法不適用於BCB的TADOQuery元件在連接上Microsoft Jet 4.0 DataBase Engine時的操作,如果連上Jet 4.0則需採下列方式操作.


Access:

SELECT * FORM MSYSOBJECTS


操作步驟:

  1. 將副檔名由DB改為MDB,並用Access開啟該檔案.
  2. 在工具->選項->視窗頁面->隱藏對象及系統對象前打勾.
  3. 在工具->安全->用戶與群組的權限中選MSysObjects物件,並設定開放權限.
  4. 存檔後將MDB副檔名改回DB,開放權限後即可用上述指令操作,讀取MSysObjects物件內容而不會出現錯誤訊息.
  5. 接著讀取MSysObjects下Name的Field Value,即可取出資料庫中所有Table名稱.

沒有留言:

張貼留言