我写的sql语句(删除类别,更新编号)
来源:互联网 发布:mac 电量百分比不准确 编辑:程序博客网 时间:2024/06/05 01:12
今天写了个复杂的sql语句,结果证明不符合项目要求,但是语法值得学习,记下来。
- declare @delId int --要删除的行
- declare @cid int
- set @delId='001002'
- begin transaction t1
- delete from ttest where 单位编号=@delId
- declare mycur cursor for select id from ttest where convert(int,单位编号)>convert(int,@delId)
- open mycur
- fetch next from mycur into @cid --类似datareader.Read(),向下移动
- WHILE (@@FETCH_STATUS = 0 ) --类似datareader.Read()
- BEGIN --在此处理逻辑
- update ttest set 单位编号='00'+convert(varchar(20),convert(int,单位编号)-1)where id=@cid
- fetch next from mycur into @cid --开始新一轮循环,少了这个则成死循环
- END
- close mycur
- deallocate mycur
- commit
我的数据表是:ttest
id int 单位编号 varchar(20)
2 001001
3 001002
4 001003
5 001004
6 001005
7 001006
我要实现的业务逻辑是:
如果删除某一行,比如001002
则更新编号大于001002的行,即编号减1
即保持编号整齐。
我没有考虑到的问题是,当我更新其他行的时候,其他行关联了很多表。
所以,删除的时候,不能更新其他行。
而是在增加的时候,找到被删除的最小的号,加进去。
- 我写的sql语句(删除类别,更新编号)
- 如何写高效的批量插入和删除sql语句 -sql语句 删除主键
- 如何写高效的批量插入和删除sql语句
- sql语句包含的四种语言类别的语句
- 迄今为止,我写过的最长的SQL语句
- SQL语句练习-更新和删除数据
- sql语句操作ACCESS,添加,更新,删除
- 笔记20150522-生成更新重复单据编号的update语句
- SQL语句,数据更新,数据插入删除修改和对视图的更新操作
- DLINQ(LINQ to SQL)之执行SQL语句的添加、查询、更新和删除
- DLINQ(LINQ to SQL)之执行SQL语句的添加、查询、更新和删除
- 写了个有史以来我所写过的最复杂的sql语句
- 自动编号的更新
- 根据当前日期获取下一个编号的SQL语句
- sql语句的批量更新
- 用户更新的sql语句
- 自己写的sql语句
- 写sql语句的思路
- 未完待续
- Hibernate 中的联合主键
- 【转】栅格图导入之tfw坐标信息文件
- vsftpd配置详解
- 让人气愤的图
- 我写的sql语句(删除类别,更新编号)
- 六级词汇天天练(12.8)
- 电子杂志 产业链整合步履加快
- 动态规划算法原理剖析
- JAVA学习【知】线程
- 几种c/c++中字符串转整形的方法
- 我的日记 (第十四篇 回首莫叹) 15:39 2008-12-8
- 网络配色(流行)
- XML简介