请问高手这样的存储过程如何写?

asq985 2009-02-14 06:31:28
假定有一个表A中有一字段 flag
如何写一个存储过程,读取表中的某一条记录时,同时更新 flag中的值??
...全文
135 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Teng_s2000 2009-02-15
  • 打赏
  • 举报
回复
触发器
asq985 2009-02-15
  • 打赏
  • 举报
回复
谢谢12楼的,我还有个问题,如果数据库中的记录在不断变化,使用此方法参做到select与update操作的是同一条记录吗?
wojiaochenglong 2009-02-15
  • 打赏
  • 举报
回复
用楼上的子查询就可以了
hongqi162 2009-02-15
  • 打赏
  • 举报
回复

select * from tb1 where ....
update tb1 set flag=@falgvalue where ...
普通的条件查询直接将update与select 的where条件统一一下就可以了
如果像你说的top这样的你可以这样

update tb1 set flag=XXX whre tb1.id in (select top 1 id from tb1)
这样进行更新
asq985 2009-02-15
  • 打赏
  • 举报
回复
楼上朋友说得对,我说错了,应该是:
不用传递参数的更改.

比如:

select top 1 from A
然后把这条记录中的flag字段更新,不知道这条记录的ID
sinomote 2009-02-14
  • 打赏
  • 举报
回复
存储过程可以实现.
我想楼主应该是想先查询,然后更新吧。
create procedure search
@id int,
@falgvalue int
as
select * from tb1 where id=@id
update tb1 set flag=@falgvalue where id=@id

go

exec search 1,2

go

drop procedure search

go
student_oa 2009-02-14
  • 打赏
  • 举报
回复
存储过程绝对可以实现的
  • 打赏
  • 举报
回复
不知道你要如何的更新?
存储过程绝对可以实现的

create proc find
@id int,--假设这里是查询的条件,当然最好是主键
@content varchar(50) --要更新的结果
as
select * from table_name where 主键=@id
update table_name set flag=@content where 主键=@id
gaoliuyang 2009-02-14
  • 打赏
  • 举报
回复
CREATE proc p_Update
@XTBH int,@flag varchar(10)
as
update A set flag=@flag where XTBH=@XTBH
select * from A where XTBH=@XTBH
[/Quote]
erytbc 2009-02-14
  • 打赏
  • 举报
回复
用视图?
a7211789 2009-02-14
  • 打赏
  • 举报
回复
用视图肯定不行啊
这样做吧
CREATE proc sp_Update
@XTBH int,@flag varchar(10)
as
update A set flag=@flag where XTBH=@XTBH
select * from A where XTBH=@XTBH
go
exec sp_Update
wuyq11 2009-02-14
  • 打赏
  • 举报
回复
CREATE proc p_Update
@XTBH int,@flag varchar(10)
as
update A set flag=@flag where XTBH=@XTBH
select * from A where XTBH=@XTBH
春天的气息 2009-02-14
  • 打赏
  • 举报
回复
怎样的更新?
可以用视图呀!



欢迎加入我的QQ80532706群哟
king19840811 2009-02-14
  • 打赏
  • 举报
回复
你想如何更新flag?让它做怎样的更新

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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