首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Upsert插入失败

Upsert插入失败
EN

Stack Overflow用户
提问于 2015-02-23 22:44:56
回答 1查看 33关注 0票数 0

我有以下SQL语句

代码语言:javascript
复制
BEGIN
DECLARE @UpdateCount int
    EXEC (@UpdateSQL)
SET @UpdateCount = @@RowCount


IF (@UpdateCount < 1)
BEGIN
    EXEC (@InsertSQL)
END
END
SET NOCOUNT ON;

它存在于触发器中,但是它并没有像我预期的那样工作,它会更新,但不会插入,我不知道我错过了什么。

@InsertSQL中的SQL也很好用,我已经测试过了。

EN

回答 1

Stack Overflow用户

发布于 2015-02-23 22:56:17

根据文档,EXECUTE语句不会影响@@ROWCOUNT:

https://technet.microsoft.com/en-us/library/ms187316(v=sql.110).aspx

一种选择是使用sp_executesql和输出参数:

代码语言:javascript
复制
DECLARE @UpdateCount int
SET @UpdateSQL = @UpdateSQL + '; select @UpdateCount = @@rowcount'
exec sp_executesql @UpdateSQL, N'@UpdateCount int output', @UpdateCount = @UpdateCount output

不过,老实说,我无法在我拥有的任何SQL Server版本中重现您的问题,所以您的问题一定还有更多的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28676334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档