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