Oracle Cannot Update TOP N Issue, 请专家解答
大家好
上周写了匿名方法一文,很多读者,很高兴,相信我们已经从大伙的回复中,对.NET又有了更深刻的认识.
好,现在说主题,各类数据库都有相应更新本表top n的方案.现在我一一举例
首先看表结构如下:
数据库以及表创建命令初始化数据库语句
CREATE TABLE student(
id varchar(256) NOT NULL,
name varchar(256) NULL,
age int NULL)
insert into student values('','wfg',20);
insert into student values('','lxx',21);
insert into student values('','wly',3);
insert into student values('','jcj',60);
insert into student values('','wss',60);
insert into student values('','xsm',60);
insert into student values('','lcf',60);
insert into student values('','wjy',35);
insert into student values('','hyf',35);
insert into student values('','lwl',12);
表格结构如下:
| ID | Name | Age |
| 001 | wfg | 20 |
| 002 | lxx | 21 |
| 003 | wly | 3 |
| 004 | jcj | 60 |
| 005 | wss | 60 |
| 006 | xsm | 60 |
| 007 | lcf | 60 |
| 008 | wjy | 35 |
| 009 | hyf | 35 |
| 010 | hwl | 12 |
需求如下:按姓名顺序后,更新前5个的年龄为100岁,如何办到.
首先说下MSSQL
--方案1失败
update top(5) student set age = 100 order by name;
--方案2ok
update student set age = 100 where id in (select top 5 id from student order by name );
select top(5) * from student order by name;
很成功,干得漂亮!
接下来我们看看MYSQL呢,拭目以待...
update student set age = 100 order by name limit 5;
select * from student order by name limit 5;
Good news, MySql干得不错,
接下来我们再看看oracle呢?
--方式1失败
update student set age = 100 where rownum <5 order by name ;
commit;
--方式2失败
update student set age = 100 where id in (select id from student where rownum<5 order by name);
commit;
select * from student where rownum<5 order by name;
目前为此,还没有在oracle里找到办法,请数据库专家指导,感谢为盼!
Oracle Cannot Update TOP N Issue, 请专家解答的更多相关文章
- .NET 匿名方法的BUG,请专家解答
匿名方法是.NET 3.5之后的一个好东东,很多人使用,但是我在最近的工作当中发现了一个问题. 请专家解答 //list里存放10个数字 List<); ; i < ; i++) { li ...
- sql: oracle, for update和for update nowait的区别
1. oracle for update和for update nowait的区别 http://www.cnblogs.com/quanweiru/archive/2012/11/09/276222 ...
- 在SQL Server中如何进行UPDATE TOP .....ORDER BY?
前言 今天在导入数据到系统后需要根据时间排序对刚导入的TOP N条进行数据更新,之前没遇到过UPDATE TOP...ORDER BY,以此作为备忘录. SQL SERVER之UPDATE TOP.. ...
- oracle执行update语句时卡住问题分析及解决办法
转载:http://www.jb51.net/article/125754.htm 这篇文章主要介绍了oracle执行update语句时卡住问题分析及解决办法,涉及记录锁等相关知识,具有一定参考价值, ...
- EBS报错FRM-92095:Oracle JInitiator版本太旧,请安装版本1.1.8.2或更高版本
EBS打开报错FRM-92095:Oracle JInitiator版本太旧,请安装版本1.1.8.2或更高版本 打开EBS的form,系统报错,中文提示信息是:FRM-92095:oracle ji ...
- Oracle EBS R12 WIP Component Issue&Return Process
oracleassemblytransactionscomponentsjobsreference 目录(?)[-] 定义BOM 定义Routing 定义WIP Discrete Job 发料 Mat ...
- Oracle的update语句优化研究
最近研究sql优化,以下文章转自互联网: 1. 语法 单表:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 如:update t_join_situation s ...
- [转]oracle for update和for update nowait的区别
1概念小结:(针对以下引用区域内容) 1.1 普通select语句不加锁. 1.2 for update和for update nowait都试图将符合条件的数据加上行级锁.用于排斥其他针对这个表的写 ...
- oracle for update和for update nowait
原文地址:http://www.cnblogs.com/quanweiru/archive/2012/11/09/2762223.html 1.for update 和 for update nowa ...
随机推荐
- 解决使用Qt creator时出现Cannot overwrite file ..Permission denied
前两天在linux下使用Qt creator, 切换到了管理员使用了Qt creator后,再切换为普通用户,发现出现了 Cannot overwrite file ..Permission deni ...
- (转)winform下TCP通信的简单应用
本文转载自:http://blog.csdn.net/wanlong360599336/article/details/7557064 先看效果图: TCP比较繁琐的就是三次握手定理,每次再发送数据前 ...
- Quartz.net 2.x 学习笔记01
Quartz.net 2.0 2012年4月9日发布了Released版本,到目前(2014-12-08)为止是2.3版 Quartz.net 项目地址:http://www.quartz-sched ...
- 数据的持久性存储(二)——CoreData(附Demo)
CoreData是一款稳定.功能全面的持久性工具.(本文参考iphone开发3所写,比较简要,需详细了解可以参考iphone开发3) 首先创建一个新的项目CoraData,记得勾选Use Core D ...
- Annotation之三:自定义注解示例,利用反射进行解析
@Retention定义了该Annotation被保留的时间长短有3中RetentionPolicy.SOURCE源文件有效,RetentionPolicy.CLASS:在class文件中有效,Ret ...
- php数组指定字段排序
数据全都存放在名为 data 的数组中.这通常是通过循环从数据库取得的结果,例如 mysql_fetch_assoc(). <?php$data[] = array('volume' => ...
- 转载:细说oracle 11g rac 的ip地址
本文转载自:细说oracle 11g rac 的ip地址 http://blog.sina.com.cn/s/blog_4fe6d4250102v5fa.html 以前搭建oracle rac的时候( ...
- Oracle 错误: sp2 0734 unknown command beginning -- 解决方法
今天在做一个Oracle的倒库操作,使用SQLPLUS倒库的时候发生SP2 0734的错误 !! 注:我是用的是Ocale11g自带的SQLPLUS 由于之前在工具(SQL Developer)里面运 ...
- Angular2快速入门-2.创建一个新闻列表
背景: 我们想通过一个例子,展示下Angular2 怎么绑定页面,怎么创建Component, 例子:我们创建一个新闻列表,当点击新闻列表中某一条新闻的时候,展示出该条新闻的详细信息, 在详细信息中可 ...
- Java微信公众平台开发(十五)--微信JSSDK的使用
转自:http://www.cuiyongzhi.com/post/63.html 在前面的文章中有介绍到我们在微信web开发过程中常常用到的 [微信JSSDK中Config配置] ,但是我们在真正的 ...