大家好

上周写了匿名方法一文,很多读者,很高兴,相信我们已经从大伙的回复中,对.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, 请专家解答的更多相关文章

  1. .NET 匿名方法的BUG,请专家解答

    匿名方法是.NET 3.5之后的一个好东东,很多人使用,但是我在最近的工作当中发现了一个问题. 请专家解答 //list里存放10个数字 List<); ; i < ; i++) { li ...

  2. sql: oracle, for update和for update nowait的区别

    1. oracle for update和for update nowait的区别 http://www.cnblogs.com/quanweiru/archive/2012/11/09/276222 ...

  3. 在SQL Server中如何进行UPDATE TOP .....ORDER BY?

    前言 今天在导入数据到系统后需要根据时间排序对刚导入的TOP N条进行数据更新,之前没遇到过UPDATE TOP...ORDER BY,以此作为备忘录. SQL SERVER之UPDATE TOP.. ...

  4. oracle执行update语句时卡住问题分析及解决办法

    转载:http://www.jb51.net/article/125754.htm 这篇文章主要介绍了oracle执行update语句时卡住问题分析及解决办法,涉及记录锁等相关知识,具有一定参考价值, ...

  5. EBS报错FRM-92095:Oracle JInitiator版本太旧,请安装版本1.1.8.2或更高版本

    EBS打开报错FRM-92095:Oracle JInitiator版本太旧,请安装版本1.1.8.2或更高版本 打开EBS的form,系统报错,中文提示信息是:FRM-92095:oracle ji ...

  6. Oracle EBS R12 WIP Component Issue&Return Process

    oracleassemblytransactionscomponentsjobsreference 目录(?)[-] 定义BOM 定义Routing 定义WIP Discrete Job 发料 Mat ...

  7. Oracle的update语句优化研究

    最近研究sql优化,以下文章转自互联网: 1.     语法 单表:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 如:update t_join_situation s ...

  8. [转]oracle for update和for update nowait的区别

    1概念小结:(针对以下引用区域内容) 1.1 普通select语句不加锁. 1.2 for update和for update nowait都试图将符合条件的数据加上行级锁.用于排斥其他针对这个表的写 ...

  9. oracle for update和for update nowait

    原文地址:http://www.cnblogs.com/quanweiru/archive/2012/11/09/2762223.html 1.for update 和 for update nowa ...

随机推荐

  1. grep 命令使用指南

    grep 命令 grep参数: -E:等同于egrep -o:只匹配你想要的内容,下面是示例: [root@localhost ~]# cat /data/game/config/server_con ...

  2. 解决时间控件input不能选择的问题

    方法一: 方法二: 方法二参考: https://blog.csdn.net/huilan_same/article/details/52385401

  3. Java-Maven-Runoob:Maven 依赖管理

    ylbtech-Java-Maven-Runoob:Maven 依赖管理 1.返回顶部 1. Maven 依赖管理 Maven 一个核心的特性就是依赖管理.当我们处理多模块的项目(包含成百上千个模块或 ...

  4. 文件操作方法大全以及文件打开的其他一些模式sys.stdout.write()就是标准输出到你当前的屏幕 sys.stdout.flush()把内存立即显示到您当前的屏幕

    read()会让你读取的光标变成最后.tell()把你现在文件的句柄的指针打印出来.文件的开头指针位置是0f.read(5)只读取5个字符串个数如果你想把光标移回去,移动到首位f.seek(0)f.d ...

  5. JS面向对象编程,对象,属性,方法。

    document.write('<script type="text/javascript" src="http://api.map.baidu.com/api?v ...

  6. java成神之——java中string的用法

    java中String的用法 String基本用法 String分割 String拼接 String截取 String换行符和format格式化 String反转字符串和去除空白字符 String获取 ...

  7. springboot成神之——监视器

    Spring Boot 的监视器 依赖 配置 书写监视控制器 常用的一些内置endpoint 定义actuator/info特殊endpoint actuator/shutdown需要post请求才能 ...

  8. Python函数式编程之map()

    Python函数式编程之map() Python中map().filter().reduce()这三个都是应用于序列的内置函数. 格式: map(func, seq1[, seq2,…]) 第一个参数 ...

  9. component to string 自定义窗体

    component to string string to component StringToComponent ComponentToString ObjectTextToBinary Objec ...

  10. aop计算方法耗时

    package necs.omms.common.aop; import lombok.extern.apachecommons.CommonsLog;import org.apache.common ...