各位大侠,请问怎样在存储过程里,批量更新数据啊?

打酱油的无证程序猿 2010-01-19 10:44:45
我有一个表

MyTab
----------
ID ClassType OrderNum
1 2 1
2 3 1
2 3 2



我想写一个存储过程 Inc_OrderNum,该存储过程有一个@ClassType参数,
调用 exec Inc_OrderNum 3 之后,
对OrderNum字段批量更新 ClassType =3的记录,即 符号条件的每条记录的OrderNum 字段都加1 )


MyTab
----------
ID ClassType OrderNum
1 2 1
2 3 2 //1+1
2 3 3 //2+1





CREATE PROCEDURE Inc_OrderNum
(
@ClassType int
)
AS

--请问这个存储过程怎么写呢?,谢谢各位大侠!!!


GO

...全文
91 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_Nice 2010-01-19
  • 打赏
  • 举报
回复
--> 测试数据:[MyTab]
if object_id('[MyTab]') is not null drop table [MyTab]
create table [MyTab]([ID] int,[ClassType] int,[OrderNum] int)
insert [MyTab]
select 1,2,1 union all
select 2,3,2 union all
select 2,3,3

select * from [MyTab]



CREATE PROCEDURE Inc_OrderNum
(
@ClassType int
)
AS
begin
update mytab
set OrderNum = OrderNum+1
where ClassType = @ClassType;
end


exec Inc_OrderNum 3
  • 打赏
  • 举报
回复
ok,多谢,俺结贴了
andysun88 2010-01-19
  • 打赏
  • 举报
回复

CREATE PROCEDURE P_ChangeOrderNum
(
@ClassType int
)
AS

UPDATE MATAB SET OrderNum =OrderNum +1 WHERE ClassType =@ClassType

GO
jiangshun 2010-01-19
  • 打赏
  • 举报
回复


--> 测试数据:[MyTab]
if object_id('[MyTab]') is not null drop table [MyTab]
create table [MyTab]([ID] int,[ClassType] int,[OrderNum] int)
insert [MyTab]
select 1,2,1 union all
select 2,3,1 union all
select 2,3,2

select * from

CREATE PROCEDURE Inc_OrderNum
(
@ClassType int
)
AS
update [MyTab] set [OrderNum]=[OrderNum]+1 where [ClassType]=@ClassType


drop table [MyTab]


exec Inc_OrderNum 3

select * from [MyTab]
/*
ID ClassType OrderNum
----------- ----------- -----------
1 2 1
2 3 2
2 3 3

(3 行受影响)

*/

drop table [MyTab]

nianran520 2010-01-19
  • 打赏
  • 举报
回复
create proc Inc_OrderNum @ClassType int
as
begin
update MyTab
set OrderNum = OrderNum + 1
where ClassType = @ClassType
end
华夏小卒 2010-01-19
  • 打赏
  • 举报
回复
CREATE PROCEDURE Inc_OrderNum 
(
@ClassType int
)
AS

UPDATE MATAB SET OrderNum =OrderNum +1 WHERE ClassType =@ClassType

GO
--小F-- 2010-01-19
  • 打赏
  • 举报
回复
update 
MyTab
set
OrderNum=OrderNum+1
where
ClassType=@ClassType
SQL77 2010-01-19
  • 打赏
  • 举报
回复
CREATE PROCEDURE Inc_OrderNum 
(
@ClassType int
)
AS

UPDATE MATAB SET OrderNum =OrderNum +1 WHERE ClassType =@ClassType

GO
?

34,587

社区成员

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

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