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

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

update直接修改不是很方便吗?
vc_human 2003-12-16
  • 打赏
  • 举报
回复
我得意思就是如何去修改游标所指向的数据。。。。。,不好意思,没有说清楚
declare cursor ...... for update of b
这是定义的时候说明b是可修改的列,那么我现在如何使用这个游标去修改游标所指的行数据的b列的数据呢?不知到说清楚了没有?谢谢
txlicenhe 2003-12-16
  • 打赏
  • 举报
回复
不知所云
zjcxc 元老 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 行)

--*/
zjcxc 元老 2003-12-16
  • 打赏
  • 举报
回复
--执行这句就行啦:
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。。。。郁闷

34,838

社区成员

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

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