sql server存儲過程修改,存儲到mysql筆記


由於有些項目要遷移到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;  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM