存储过程里为什么不执行两条操作啊??

chen2319 2008-12-11 05:17:56
CREATE PROCEDURE [dbo].[Proc_ScoreDelete]
(@ID [int],
@UserID nvarchar(50),
@PaperID [int])
AS
BEGIN
DELETE [OnLineExam].[dbo].[Score] WHERE ( [ID] = @ID)
UPDATE [OnLineExam].[dbo].[UserAnswer] SET [UserMark] = NULL
WHERE [PaperID] = @PaperID AND [UserID] = @UserID AND [Type] in ('填空题','问答题')
END
GO
----------------------------------
exec Proc_ScoreDelete 43,102,080010只是执行了DELETE ?这是为什么啊?
...全文
42 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen2319 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 Yang_ 的回复:]
SQL codeselect * from [OnLineExam].[dbo].[UserAnswer]
where [Type] in ('填空题','问答题')


是不是没记录返回?
[/Quote]有记录
chen2319 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 happyflystone 的回复:]
删除的是不是正好是你要更新的记录 呀
[/Quote]
BEGIN 
DELETE [OnLineExam].[dbo].[Score] WHERE ( [ID] = @ID)
UPDATE [OnLineExam].[dbo].[UserAnswer] SET [UserMark] = NULL
WHERE [PaperID] = @PaperID AND [UserID] = @UserID AND [Type] in ('填空题','问答题')
END

在查询分析器中执行以上的语句,DELETE 和UPDATE 都执行了啊。
Yang_ 2008-12-11
  • 打赏
  • 举报
回复
select * from [OnLineExam].[dbo].[UserAnswer] 
where [Type] in ('填空题','问答题')

是不是没记录返回?

dawugui 2008-12-11
  • 打赏
  • 举报
回复
--换个位置试试?
CREATE PROCEDURE [dbo].[Proc_ScoreDelete] 
(@ID [int],
@UserID nvarchar(50),
@PaperID [int])
AS
BEGIN
UPDATE [OnLineExam].[dbo].[UserAnswer] SET [UserMark] = NULL
WHERE [PaperID] = @PaperID AND [UserID] = @UserID AND [Type] in ('填空题','问答题')

DELETE [OnLineExam].[dbo].[Score] WHERE ( [ID] = @ID)
END
GO
dawugui 2008-12-11
  • 打赏
  • 举报
回复
语句没看出错误来,检查下逻辑吧.
dawugui 2008-12-11
  • 打赏
  • 举报
回复
不会吧.
-狙击手- 2008-12-11
  • 打赏
  • 举报
回复
删除的是不是正好是你要更新的记录 呀


34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧