2014-11-15 36 views
0

我從SQL Server 2000生成了一個SQL腳本,因爲我不能只使用.bak文件將其還原到版本2014中。當我嘗試在新版本上執行生成的SQL腳本時SQL服務器2014年,我得到一個錯誤在SQL Server 2000存儲過程中SET附近的語法不正確

附近關鍵字 'SET'

不正確的語法

檢查指責行:

IF ISNULL(@pi_strMChargeNo,'') = '' BEGIN 
    INSERT INTO TPURCHASEGROUP(MCHARGENO, CASHPRICE, COUPONPRICE, EVENTPRICE, TOTALPRICE, PITEMCNT, REGDATE, UPDDATE) 
    VALUES(@v_strMChargeNo, 0, 0, 0, 0, 1, GETDATE(), GETDATE()) 

    IF @@ERROR <> 0 
    BEGIN 
     SET @po_strErrMsg = 'TPURCHASEGROUP INSERT FAIL' 
     SET @po_intRetVal = 2266 
     SET RETURN -- blamed 
    END 
END 

可能會更改從2000年到2014年的語法,但是什麼?或者可能只是刪除該行?

回答

4

沒有更多的上下文,看起來你應該用RETURN替換SET RETURN

關於恢復備份的問題。您可能想嘗試恢復SQL Server 2008,將數據庫的兼容級別提高到100,在SQL Server 2014下進行新的備份和恢復。

+0

好的提示:)請嘗試。雖然我仍然想要一個SQL腳本。我會嘗試用'RETURN'替換'SET RETURN'。 – majidarif

+0

是的,只用'RETURN'替換那些解決了這個問題。雖然有其他幾個人出現。但不再涉及這個話題。公認。 – majidarif

相關問題