com.microsoft.sqlserver.jdbc.SQLServerException: 必須執行該語句才能獲得結果。


環境:mybatis+SqlServer

完整錯誤:

### Cause: org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必須執行該語句才能獲得結果。

mybatis代碼

<insert id="addYanan" useGeneratedKeys="true" keyColumn="idgr" keyProperty="idgr">……</insert>

原本是正常的,在我加了個觸發器之后就不正常了,觸發器主要內容如下:

ALTER TRIGGER [dbo].[gerenateGrbh] ON [dbo].[YANAN] after INSERT 
AS
BEGIN 
      SET NOCOUNT ON;
      ……
    update  ……
END
END      

 

原因 觸發器update的時候用到了YANAN表的主鍵id,mybatis中useGeneratedKeys="true",這時候需要加上觸發器中SET NOCOUNT ON;(深層原因沒太深究)


免責聲明!

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



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