我還沒有被使用的結構的存儲過程類似於以下語法錯誤
BEGIN TRY
BEGIN TRANSACTION
IF EXISTS (SELECT Something FROM Somewhere WHERE Something = '123abc')
GOTO FINISHED
IF NOT EXISTS (SELECT Something FROM Somewhere WHERE Something = 'abc123')
SET @ReturnCode = 2
FINISHED:
COMMIT TRANSACTION
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
END CATCH
假設GOTO。我得到以下兩個錯誤
Line 183
Incorrect syntax near 'F'.
Line 183
Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing. Previous count = 1, current count = 2.
如果我有BEGIN
和END
的存儲過程返回正常的包裹最後IF
。這很好,並照顧我的語法問題。
問題是我有兩個不同的服務器上這個確切的存儲過程。一個人總是會得到錯誤,而且從來沒有像上面那樣得到錯誤。
我能想到的唯一的事情是,在一臺服務器上可能會打開一些SQL設置,但在另一臺服務器上卻沒有。有沒有人曾經有過這樣的事情發生過?
更多詳細信息:有問題的服務器已過時,但第二臺服務器安裝了SP2後未安裝Service Pack。目前正在升級過程中。稍後將更新結果。
或者,也許當什麼也沒有發生在其他的觸發器被一臺服務器上開除了? – 2011-01-12 13:10:28