游标中嵌套游标 oracle,oracle存储过程游标嵌套

后台传入变量a

update from table set columnB=a  where columnB==""

order by columnA

循环操作这条sql,a从0开始 ######问问题都不能描述清楚 就别指望有人回答了######回复

@布尔道长 : +1######“这样规律的数据怎样用sql更新 “更新成什么? ”为空的columnB列,其中A列可能会有N条数据是一样的,但B列必须是从0开始递增 ”这是在说什么?######那么清析的表结构都理解不了?######

引用来自“谭书记”的答案

后台传入变量a

update from table set columnB=a  where columnB==""

order by columnA

循环操作这条sql,a从0开始

后台如何传入变量a?

######回复

@kylerho : oracle中可以用序列来实现你的自动增长。你自己试下,我提供一份简码: CREATE SEQUENCE my_seq START WITH 1 INCREMENT BY 1 MAXVALUE 100 ; (表示创建序列,从0开始,每次+1,最大值100) 然后调用我上面的sql,把a换成my_seq.nextval######回复

@谭书记 : 存储过程不太熟,试过用游标,写的有点不太正确######回复

@kylerho : 那就写个简单的存储过程吧,呵呵。还是变量一说。######回复

@谭书记 : 呵呵~~ 如果是程序操作的,我就不用在这问了,那是要在oracle中操作的######哦,我这可能是mybatis的思想。。oracle不知道适用不,看你使用的是什么orm框架,呵呵。。那你把a用oracle中的特殊函数替代下,比如自动增长的函数(不知道有木有)######使用窗口函数就OK######select columna, row_number() over(partition by columna order by columna)  - 1 columnb from t######回复

@kylerho : 修改了######回复

@kylerho : 晕,外面再嵌套一层减一会不######这个能从0开始的吗?######或者直接######在别名前减一就可以了######已经解决了,就在别名前减一,谢了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值