DELETE数据的查询
ID COL
1 2434
2 454
3 342
4 67
5 [NULL]
6 [NULL]
7 23432
8 32
9 [NULL]
10 23
11 [NULL]
12 1232
13 [NULL]
14 [NULL]
15 [NULL]
要求删除完了得到这个结果:
ID COL
4 67
5 [NULL]
6 [NULL]
8 32
9 [NULL]
10 23
11 [NULL]
12 1232
13 [NULL]
14 [NULL]
15 [NULL]
也就是说空字段以及最前面的那个非空字段保留,其他删除
靠!我又用游标了…………是这么写的:
declare CUR_ID cursor for
select ID,COL from TABLE1 order by ID
open CUR_ID
fetch next from CUR_ID into @ID,@COL
while @@FETCH_STATUS = 0
begin
fetch next from CUR_ID into @ID,@COL
if @COL is not null
begin
if exists(select 1 from TABLE1 where ID = @ID -1 and COL is not null)
delete from TABLE1 where ID = @ID -1
end
end
close CUR_ID
deallocate CUR_ID
这个效率实在不咋地……有没有好办法?
相关推荐
3.5 《数据库系统概论》之基本表更新(INSERT、UPDATE、ALTER、DELETE)与视图VIEW(定义、查询、更新)
文章目录0.前言1.思维导图2.基本表更新—TABLE(1)插入数据—INSERT INTO① 插入元组② 插入子查询结果(2)修改数据—UPDATE SET① 修改某一个元组的值(3)删除数据 —DELETE① 删除某一个元组的值② 删除多个元组的值③ 带子查询的删除语句3.视图—VIEW(1)定义视图① 建立视图② 删除视图(2)查询视图(3)更新视图① 更新数据—UPDATE SET② 插入数据—INSERT INTO③ 删除数据—DELETE④ 更新视图的限制 0.前言 数据库是SQL Sever 数据库管理系统是Navicat Premium 15 本片文章所用的表在此篇文章之中
DELETE 语句
sql server 里面 DELETE 语句的使用方法示例
ORACLE 多表查询与数据修改
oracle 多表查询与数据修改学习笔记,主要是让大家熟悉三个或四个表的连接查询,熟练掌握delete、update与insert的语法。
一个轻量级开源数据库系统_支持基本SQL语法如SELECT_INSERT_UPDATE_DELETE_提供数据存储和查询功能_适用于小型应用和嵌入式设备_采用C或Python实.zip
一个轻量级开源数据库系统_支持基本SQL语法如SELECT_INSERT_UPDATE_DELETE_提供数据存储和查询功能_适用于小型应用和嵌入式设备_采用C或Python实.zip
SQL Delete用法详解[项目代码]
本文详细介绍了SQL中DELETE语句的用法,包括基本语法、WHERE子句的使用以及子查询的应用。DELETE语句用于删除表中满足特定条件的行,可以通过WHERE子句筛选数据,只删除符合条件的记录。文章还通过一个具体需求示例,展示了如何删除重复电子邮件并保留最小id的记录。示例中提供了两种解决方案:一种是通过笛卡尔积和WHERE条件实现,另一种是通过子查询和NOT IN操作符实现。这些方法不仅适用于当前示例,也可为类似的数据删除需求提供参考。


应用实例
