hs-sql-agent 目前支援以下六種關聯式資料庫:
| 資料庫 | 角色 |
|---|---|
| PostgreSQL | 輸入與輸出 SQL 方言 |
| MySQL | 輸入與輸出 SQL 方言 |
| SQL Server | 輸入與輸出 SQL 方言 |
| Oracle | 輸入與輸出 SQL 方言 |
| SQLite | 輸入與輸出 SQL 方言 |
| Firebird | 輸入與輸出 SQL 方言 |
MCP 介面統一,不代表 SQL 方言統一
MCP 用戶端使用的是統一伺服器介面,但 SQL 的實際語意仍取決於資料庫。編譯器負責確保支援的語句在目標資料庫上維持原本含義。
這類差異會影響運算子、資料型別、CAST、函式、識別項、分頁、NULL 語意與 DML 行為。
支援範圍是明確限定的
資料庫出現在支援清單中,不代表該資料庫提供的所有 SQL 語法都能使用。
如果輸入語法無法被安全地內部表示,或無法確認目標資料庫能維持等價語意,編譯器就會依「失敗即拒絕」原則拒絕要求。支援範圍可以持續擴大,但不會放棄這項規則。
在正式環境中,應把 hs-sql-agent 編譯器實際接受的 SQL 視為正式契約,不要假設資料庫命令列工具可以執行的任意 SQL 都會被 hs-sql-agent 接受。