今天天有个网友 让我写这样一个过程给他 个人表信息表结构: 家庭编码 个人名字 个人编号 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