2015-05-07 85 views
0

我打到一個將記錄輸入表的請求。現在這個請求進入表中的記錄,但也會拋出SQL 803(唯一約束錯誤),儘管沒有重複的記錄,並且創建的日期僅顯示當前日期。 請讓我知道如何插入一條記錄,同時拋出唯一的約束錯誤。DB2 803唯一約束錯誤

回答

0

不是。

你錯誤理解正在發生的事情。

一種可能性是插入到或更新另一個表的插入的目標上存在觸發器。這是第二次插入/更新引發約束錯誤。

通常,觸發器在與原始操作相同的事務下操作;這樣如果發生錯誤,原始操作會回滾。根據您的版本和平臺,觸發器可能被設置(錯誤地?)以在觸發事務之外進行操作。可能更有可能的是,您的插入是在事務之外完成的,因此第二次插入/更新也是如此。當它失敗時,原件不會回滾。

+0

與查詢SELECT * 一起檢查FROM SYSCAT.TRIGGERS在我的表上沒有觸發器.. –