`
xiang37
  • 浏览: 414264 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

SQL游标中Order By的使用限制

 
阅读更多

 

在创建游标的SELECT语句中使用了Order By子句,与非游标中select语句中的order by子句不同,只有在查询的select子句中出现的列才可以作为order by子句中出现的列。

例子:

declare book_cusor cursor

for

select bookid,bookname,publish,price,reader

from bookinfo

order by price

另外:如果游标的select 子句中包含有order by子句,DBMS将把游标限制为read only,因此不能在相同的游标select语句中同时有order by子句和for update子句。也就是说,只要游标的select子句中包含有order by子句,那么该游标就是不可更新的,也就不能使用定位delete语句或者定位update语句对其源表进行删除或更新操作。

 


it's from 

http://hi.baidu.com/imhuanxi/blog/item/793acb9468a46b0dd21b701b.html

 

分享到:
评论

相关推荐

    为什么SQL不许在视图定义ORDER BY子句

    SQL Server之所以不允许在视图定义中使用ORDER BY子句是为了遵守ANSI SQL-92标准。因为对该标准的原理分析需要对结构化查询语言(SQL)的底层结构和它所基于的数学理论进行讨论,我们不能在这里对它进行充分的解释。...

    用SQL Server显示树结构, 不用递归算法,不用游标,没有层次限制, 速度很快

    -- 用SQL Server显示树结构, 不用递归算法,不用游标,没有层次限制, 速度很快 -- 显示、打印用起来很方便的 -- select * from Dept -- select * from dbo.GetDeptTree('00000000-0000-0000-0000-000000000000') ...

    详解SQL游标的用法

    类型:  1.普通游标 只有NEXT操作  2.滚动游标 有多种操作 1.普通游标 ... ORDER BY UserId DESC OPEN cursor_name --打开游标 FETCH NEXT FROM cursor_name INTO @UserId,@username --抓取下一行游标数

    精通SQL--结构化查询语言详解

    9.4.3 order by子句排序union运算结果 180 9.4.4 对多表进行union运算 181 9.4.5 union join 连接表 183 9.5 表连接的其他应用及注意问题 183 9.5.1 连接表进行聚合运算 183 9.5.2 多表连接的综合运用 185 ...

    精通SQL 结构化查询语言详解

    9.4.3 ORDER BY子句排序UNION运算结果  9.4.4 对多表进行UNION运算  9.4.5 UNION JOIN 连接表  9.5 表连接的其他应用及注意问题  9.5.1 连接表进行聚合运算  9.5.2 多表连接的综合运用  9.5.3 多表连接...

    Oracle数据库游标连接超出解决方案

    oracle数据库忽然连不上了,一查是游标数量超了。 1.查看游标数 show parameter open_cursors 2.修改游标数 alter system set open_cursors = 10000; 3.获取打开的游标数 select o.sid, osuser, machine, count...

    SQL21日自学通

    在SQL*PLUS 中使用变量453 DEFINE 454 ACCEPT 455 NEW_VALUE457 DUAL 表458 DECODE 函数459 日期转换462 运行一系列的SQL 文件465 在你的SQL 脚本中加入注释466 高级报表467 总结469 问与答469 校练场469 练习470 第...

    Microsoft_SQL_Server_2005技术内幕:T-SQL查询.pdf

     步骤10:应用ORDER BY子句  步骤11:应用TOP选项  SQL Server 2005中新的逻辑处理阶段  表运算符  OVER子句  集合操作  结论 第2章 物理查询处理  查询处理期间的数据流  编译  Algebrizer  优化  ...

    sql试 题答案和试题

    8、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(1___),使用要害字(2___)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(3___),假如在SELECT语句中使用集合函数时,...

    Oracle数据库Sql性能调优

    1.41 用WHERE替代ORDER BY 25 1.42 避免改变索引列的类型. 26 1.43 需要当心的WHERE子句 27 1.44 连接多个扫描 28 1.45 CBO下使用更具选择性的索引 29 1.46 避免使用耗费资源的操作 29 1.47 日期使用 29 1.48 使用...

    SQL培训第一期

    1 SQL基础 1.1 基本概念 结构化查询语言(Structured Query ...select后面出现的列,如果没有使用集合函数,必须出现在group by 中。 select sno,sname,sum(grade) from student group by sno,sname; //合法写法 select...

    精通Oracle.10g.PLSQL编程

    使用SQL语句 4.1 使用基本查询 4.1.1 简单查询语句 4.1.2 使用WHERE子句 4.1.3 使用ORDERBY子句 4.2 使用DML语句 4.2.1 插入数据 4.2.2 更新数据 4.2.3 删除数据 4.3 ...

    SQL语法大全

    sql="select * from 数据表 where 字段名 like \'%字段值%\' order by 字段名 [desc]" sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 in (\'值...

    oracle教案(doc)+SQL Reference 10g(chm).rar

    3.2.4 对查询结果进行排序 ORDER BY 子句 (重点) 24 3.2.5 单行函数 (重点) 26 3.2.6 SQL语句强化训练 39 3.2.7 多表查询 40 3.2.8 组函数及分组统计 (重点) 52 3.2.9 子查询 58 3.2.10 ROWNUM伪列(重点) 63 3.2.11 ...

    SQL sever 实训

    ORDER BY SaleDate OPEN CRS FETCH NEXT FROM CRS INTO @ProNo,@ProName , @SaleDate,@Quantity ,@SM WHILE @@FETCH_STATUS =0 BEGIN PRINT '产品编号 产品名称 销售日期 销售数量 销售金额' PRINT @ProNo+' '+@...

    黄淮学院2010学年第二学期SQL server期末考试

    在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是 ;若要创建一个数据库,应该使用的语句是 。 SQL server 中的变量分为两种,全局变量和局部变量。其中全局变量的名称以________ 字符开始,有系统定义...

    存储过程的安全及性能优化

     尽量避免使用游标,游标效率很差,如果使用游标就不要在游标的循环中使用表连接操作  注意where语句的写法,应该根据索引的顺序、范围的顺序、范围的大小来确定条件子句的前后顺序,尽量让字段顺序与索引顺序...

    在Oracle PL/SQL中游标声明中表名动态变化的方法

    /* 小弟刚刚接触ORACLE存储... –这个变量就是用来存放所要取得的字段内容,但不知该如何定义 cursor curSort1 is select 服务类型 from tabname order by 编码; –此语句也不对提示找不到表名 begin …..

Global site tag (gtag.js) - Google Analytics