如何让ORACLE的存储过程中同时执行2个更新语句?
大家帮我看下我的数据库代码哪里有错误,为什么不能执行第2个更新语句呢?这是程序包中提取来的一段存过过程。Procedurec005_bUserId--用户咬完人后更新信息...
大家帮我看下我的数据库代码哪里有错误,为什么不能执行第2个更新语句呢?这是程序包中提取来的一段存过过程。
Procedure c005_bUserId --用户咬完人后更新信息
(usersId c_userInfo.UserId%type,
friendId c_userInfo.UserId%type,
Result out number)
AS
no_update EXCEPTION;
BEGIN
update c_userInfo
set MainValue=MainValue-20,Cash=Cash+20
where userId=usersId;
update c_userInfo
set MainValue=MainValue-10,Popularity=Popularity+20
where userId=friendId;
Result:=1;
IF SQL%notfound THEN
RAISE no_update;
END IF;
EXCEPTION
WHEN no_update THEN
Result:=-1; --没有找到更新数据源
WHEN others THEN
Result:=-8;
END c005_bUserId; 展开
Procedure c005_bUserId --用户咬完人后更新信息
(usersId c_userInfo.UserId%type,
friendId c_userInfo.UserId%type,
Result out number)
AS
no_update EXCEPTION;
BEGIN
update c_userInfo
set MainValue=MainValue-20,Cash=Cash+20
where userId=usersId;
update c_userInfo
set MainValue=MainValue-10,Popularity=Popularity+20
where userId=friendId;
Result:=1;
IF SQL%notfound THEN
RAISE no_update;
END IF;
EXCEPTION
WHEN no_update THEN
Result:=-1; --没有找到更新数据源
WHEN others THEN
Result:=-8;
END c005_bUserId; 展开
1个回答
2013-05-14
展开全部
你写两个UPdate进去就是了嘛 只是参数多点而已 建议还是一条更新语句一个存储过程 根据实际情况来决定把
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询