2011-01-13 53 views
0

我正在使用SQL Server數據庫的項目中工作。但最近決定將數據庫更改爲MySQL。什麼是MySQL不支持的SQL Server查詢語法?

我沒有使用任何存儲過程,視圖,觸發器,用戶定義函數等。但我認爲即使這樣,一些爲SQL Server編寫的查詢也不會被MySQL支持。

任何人都可以提供幫助:我必須檢查(和更改)哪些內容,以便所有查詢都能正常工作。

+0

你必須重新測試所有數據庫代碼,徹底。與僅僅不支持的語法相比,可能會有更多的差異。如果排序規則不同,會怎樣?如果以不同的方式完成優化會怎麼樣?現在運行得很快,現在可能運行緩慢。 – 2011-01-13 10:22:25

回答

1

總是可以選擇從MySQL AB獲得商業支持來解決這個問題。我很確定他們已經做了足夠多的MSSQL-> MySQL遷移來了解相關信息。如果遷移中的價格標籤不成問題。

或者,您可以嘗試在數據上運行MySQL Migration Toolkit,並在無法遷移的內容中查找有意義的錯誤消息。 MySQL Migration Toolkit是MySQL GUI工具的一部分。

+0

感謝您的建議。它真的會幫助我。 – ANP 2011-01-14 10:14:58

2

,我知道的查詢沒有諮詢是行不通的文檔:

  • (遞歸)公用表表達式使用標準的SQL字符串連接||
  • 更新與
  • 窗口函數
  • 查詢JOIN在兩個系統之間不同
  • 日期算術:date_column + 1在SQL Server中的行爲不同
  • 被零除將產生錯誤
  • SQL Server將拒絕不適合的列值(而不是默默截斷它,它的MySQL確實在默認安裝)

DDL不會工作和可能對性能和/或質量的數據,你需要精確到毫秒

  • 表與檢查約束

    • datetime列的影響
    • 索引視圖
    • 觸發器的看法
    • 表函數(select * from my_function(42);
    • 過濾索引( 「部分指數」)
    • 基於函數的索引
  • +0

    非常感謝您的回覆。 – ANP 2011-01-14 10:13:24

    相關問題