导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

请问如何用游标所指向的数据行中的数据更新它自己的一列的数值呢?

vc_human 2003-12-16 02:37:18
例如:
table 1
1 2 3 4 5
.
.
a b c d e <<----游标
.
.
我现在定义一个游标,然后将2中的b改为d-e,请问如何实现。
这个表里面没有主健。。。。。。
...全文
25 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
为什么不直接用update修改?

update直接修改不是很方便吗?
回复
vc_human 2003-12-16
我得意思就是如何去修改游标所指向的数据。。。。。,不好意思,没有说清楚
declare cursor ...... for update of b
这是定义的时候说明b是可修改的列,那么我现在如何使用这个游标去修改游标所指的行数据的b列的数据呢?不知到说清楚了没有?谢谢
回复
txlicenhe 2003-12-16
不知所云
回复
--例子:

--测试表
declare @table table(a int,b int,d int,e int)
insert into @table
select 1,2,3,4
union all select 2,3,4,5

--更新处理
update @table set b=d-e

--显示处理结果
select * from @table

/*--处理结果

a b d e
----------- ----------- ----------- -----------
1 -1 3 4
2 -1 4 5

(所影响的行数为 2 行)

--*/
回复
--执行这句就行啦:
update 表 set b=d-e
回复
vc_human 2003-12-16
自己up一下
回复
vc_human 2003-12-16
实际上我的做法是:先为#t1添加一个主健identity(1,1),然后再通过主健来定位。可是我现在的问题是,pb下面就会出现问题,因为我的存储过程里面有数据插入。pb认为是插入空值,所以每次都运行错过,请问如何才能实现以上的功能呢?
回复
vc_human 2003-12-16
update #t1 set store= @store + @in_amount-@out_amount
where id=@id
我的方法是将表建立一个主健,可是这样的话,在pb下面就会出现错误,当我的存储过程中存在对#t1表进行插入数据的时候,就会出现错误。。。。。不能插入null。。。。郁闷
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告