由於有些項目要遷移到mysql上,數據遷移用MySQLWorkbench就能很好的遷移,最難的是存儲過程之類的。
下面是sql server存儲過程和mysql存儲過程的轉化:
SQL SERVER: MYSQL:
1、GO #可以直接 去掉的 1、去掉GO
2、AS #create procedure之后的AS可以直接去掉 2、去掉AS
3、SET QUOTED_IDENTIFIER ON、SET ANSI_NULLS ON #可以直接去掉 3、去掉左邊這兩句
4、傳入傳出參數: 4、參數:
sql server的參數是帶@符號的,而mysql卻不支持,sqlserver可以直接賦值,mysql不行 去掉傳入傳出參數前面的@符號,賦值寫到BEGIN下面用set語句賦值
5、創建語句: 5、創建語句:
sqlserver可以:create Proc 修改為:create procedure
6、[]符號包裹的內容: 6、[]符號:
[dbo].:可以直接去除,包裹存儲過程名稱的[]符號可以去除 去除[]符號
7、調用存儲過程: 7、調用存儲過程:
sqlserver可以直接EXEC 修改為CALL
8、select a=b語句: 8、select a=b語句:
sqlserver可以直接select a=b賦值 mysql必須修改為select a into b
9、update from語句 9、update from語句
sqlserver可以用update from語句 mysql需要重寫成:update a inner join b語句形式
10、convert 10、convert
sqlserver用convert mysql要 重寫為cast()
11、if語句 11、if語句
sqlserver的if語句為if begin......end else bgin......end mysql要重寫為:if then......else......end if
12、return語句 12、return語句
sqlserver支持return語句 mysql要重寫為select 0;