由于有些项目要迁移到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;