今天天有个网友 让我写这样一个过程给他
个人表信息表结构:
家庭编码 个人名字 个人编号
312344 刘海源
312344 孔祥玉
312345 梁永胜
312345 高少芝
说明:
4 条个人信息中 由 家庭编码相同的为一个家庭 上面是有2个家庭 每个家庭有2个人
比如: 刘海源 和 孔祥玉 有相同的家庭编码 说明他们同属一个家庭
“个人编号” 字段 是存放 个人在家庭中的编号,有约束为:同一家庭的个人编号不能重复
比如:如果刘海源的个人编号是1 孔祥玉 的个人编号也是1 就违反这个约束了。

需求: 给字段 “个人编号” 赋值 用其标记 在家庭中的编号
注:想要一个 游标 首先 查询出一个结果集 存放“家庭编码”相同的记录,
然后 在结果集里循环 给“个人编号”赋值 如: 1 2 3 4 5 之类
想要的结果:
家庭编码 个人名字 个人编号
312344 刘海源 1
312344 孔祥玉 2
312345 梁永胜 1
312345 高少芝 2

解决方案方案二
declare my_cursor cursor scroll dynamic
for
select 家庭编码 from TEST2 order by 家庭编码 asc
open my_cursor
declare @next_code nvarchar(10)
declare @cur_code nvarchar(10)
while 1=1
begin
fetch my_cursor into @cur_code
if @@fetch_status<>0
break
begin

fetch next from my_cursor into @cur_code
declare @pro_name as nvarchar(10),@cur_name as nvarchar(10)
Declare Code cursor scroll dynamic
FOR SELECT 家庭编码,个人名字 from TEST2 where 家庭编码=@next_code
Open Code
declare @RowCount integer,@i integer
set @i=1
set @RowCount=@@CURSOR_ROWS
while 1=1
begin
fetch Code into
@cur_code,
@cur_name
if @@fetch_status<>0
break
update TEST2 set 个人编号=@i where current of Code
set @i=@i+1
end
close Code
deallocate Code
set @i=1
end
end
close my_cursor
deallocate my_cursor
方案二
declare my_cursor cursor
for
select distinct 家庭编码 FROM TEST2 order by 家庭编码 asc
open my_cursor
declare @cur_name as nvarchar(10),@cur_code nvarchar(10)
while 1=1
begin
fetch my_cursor into @cur_code
if @@fetch_status<>0
break
begin
Declare Code cursor local
FOR SELECT 家庭编码,个人名字 from TEST2 where 家庭编码=@cur_code
Open Code
declare @RowCount integer,@i integer
set @i=1
while 1=1
begin
fetch Code into
@cur_code,
@cur_name
if @@fetch_status<>0
break
update TEST2 set 个人编号=@i where current of Code
set @i=@i+1
end
close Code
deallocate Code
set @i=1
end
end
close my_cursor
deallocate my_cursor

双重游标的使用以及动态游标的使用相关推荐

  1. 游标(概念、优点、分类、静态游标的使用(显示游标(显示游标的属性、遍历显示游标、显示游标的FOR循环)、隐式游标(隐式游标的属性))、动态游标的使用、静态游标和动态游标的区别、更新或删除当前游标数据

    文章目录 游标 游标概念 游标优点 游标分类 静态游标的使用 显示游标 显示游标的属性 遍历显示游标 显示游标的FOR循环 接收显式游标数据的数据类型(普通变量.记录变量.集合变量) 通过游标更新.删 ...

  2. oracle 动态游标行数,oracle动态游标的简单实现方法

    下面就是例子程序 --明细表打印予处理  通用报表: procedure mx_print_common(pd_id in mx_pd_syn.pd_id%type, p_pd_mxb_id IN m ...

  3. [MSSQL]双重游标的使用以及动态游标的使用

    今天天有个网友 让我写这样一个过程给他 个人表信息表结构: 家庭编码  个人名字   个人编号 312344    刘海源          312344    孔祥玉 312345    梁永胜 3 ...

  4. db2存储过程 可以使用游标循环嵌套吗_DB2存储过程使用动态游标的例子

    本文将为您介绍一个 DB2 存储过程使用动态游标的例子,如果您对动态游标的使用感 兴趣的话,不妨一看,对您学习 DB2 的使用会有所帮助. CREATE PROCEDURE data_wtptest( ...

  5. 【Oracle】PL/SQL 显式游标、隐式游标、动态游标

    在PL/SQL块中执行SELECT.INSERT.DELETE和UPDATE语句时,Oracle会在内存中为其分配上下文区(Context Area),即缓冲区.游标是指向该区的一个指针,或是命名一个 ...

  6. 动态游标(例如表名作为参数)以及动态SQL分析

    表名作为参数的动态游标 DECLAREv_table_name VARCHAR2(30) := 'CUX_MES_WIP_BARCODE_MAP';--l_rec SYS_REFCURSOR;TYPE ...

  7. Oracle 动态游标 PL/SQL 动态SQL语句 open for [using] 语句

    PL/SQL:open for [using] 语句 2017年07月19日 09:52:55 学孩儿无牙哭做粥 阅读数:681 标签: oracleSQLPLSQL 更多 个人分类: ORACLES ...

  8. oracle静态游标与动态游标,Oracle 静态 动态游标的使用

    declare ida varchar(200); a varchar(200); b varchar(200); c varchar(200); i number(20); err number(2 ...

  9. Oracle中动态拼接参数怎么传,急oracle 动态游标传日期参数是如何传的呢,请赐教,多谢...

    当前位置:我的异常网» Oracle开发 » 急oracle 动态游标传日期参数是如何传的呢,请赐教 急oracle 动态游标传日期参数是如何传的呢,请赐教,多谢 www.myexceptions.n ...

最新文章

  1. java mybatis基础
  2. 继续咸鱼——2.18
  3. 一种c#深拷贝方式完胜java深拷贝(实现上的对比)
  4. LeetCode 题解之Add Two Numbers II
  5. 系统级性能分析工具 — Perf
  6. Visual Studio 2008 环境变量的配置(参考设置VS2010)
  7. 欢乐纪中某B组赛【2019.1.21】
  8. shell两个数字相乘_使用8086微处理器将两个16位数字相乘而不带进位
  9. 虚拟专题:知识图谱 | 事件图谱的构建、推理与应用
  10. Jackson将json字符串转换成泛型List
  11. python开发面向对象基础:封装
  12. oracle数据库静态启动,ORACLE数据库的连接
  13. mysql 数据库自动备份(bat+计划任务方式)--亲测备份及还原成功
  14. 控制extsj4.1 gridpanel表格行或者单元格的编辑
  15. 谷歌邮箱无法登录问题
  16. P3554 [POI2013]LUK-Triumphal arch
  17. bzoj 2827 千山鸟飞绝
  18. java中复数_Java中的复数
  19. IE浏览器设置兼容性、清除缓存,重置浏览器、Edge浏览器设置兼容性
  20. JAVA程序设计:灯泡开关(LeetCode:319)

热门文章

  1. 苏宁双11超级工程排头兵—会员系统架构演进
  2. OpenCV—Python 对比度与亮度调整
  3. 企业安全丨旧瓶新酒之ngx_lua fail2ban实现主动诱捕
  4. linux用什么剪辑视频教程,极简主义:Linux视频剪辑利器Viedo Trimmer
  5. linux红帽子怎么设置防火墙,RedHat Linux如何设置防火墙
  6. Centos7.5-文件的基本管理和XFS文件系统备份恢复
  7. 开发都有那些岗位呢?
  8. 人工智能okcc呼叫中心VOS阿里云域名怎样申请
  9. /dev/mapper/vg_test-lv_root 占用到达100%的解决方法
  10. 三力课堂计算机课程,打造“三力”课堂,营造幸福人生(草稿)