`
xiang37
  • 浏览: 430816 次
  • 性别: 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游标的使用教程及案例

    标题“关于sql游标的使用教程及案例”指出了文档的核心内容,即将对SQL游标使用进行讲解,并通过具体案例加深理解。...通过上述教程的学习,读者可以学会如何在Oracle数据库中使用SQL游标来处理和控制数据查询结果集。

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

    尽管如此,SQL Server提供了一种变通方法,允许在某些情况下在视图中使用`ORDER BY`,即结合`TOP`关键字。例如,在创建视图时,你可以使用`TOP`来限制返回的行数,并同时指定排序顺序,就像在示例中那样: ```sql ...

    SQL Server2000游标例子

    通过本例可以看出,在SQL Server 2000中使用游标可以实现复杂的数据处理逻辑,特别是在需要逐行处理数据的情况下。但是,由于游标的性能开销较大,因此在实际应用中应谨慎考虑是否使用游标。同时,合理的使用临时表...

    T-sql的游标课程

    【T-SQL游标课程】深入理解SQL游标在数据查询中的应用 SQL游标是数据库管理系统中一种处理数据的方法,允许程序逐行处理查询结果,而非一次性获取所有数据。在T-SQL(Transact-SQL)中,游标尤其适用于需要对数据集...

    DB2游标及动态SQL

    ORDER BY salary; DECLARE EXIT HANDLER FOR NOT FOUND SET medianSalary = 6666; SET medianSalary = 0; SELECT COUNT(*) INTO v_numRecords FROM staff WHERE DEPT = deptNumber; OPEN c1; WHILE v_counter (v_...

    Oracle游标使用大全

    - 使用`FETCH cursor_name INTO variable_list`来从打开的游标中读取一行数据到变量列表中。 ```sql DECLARE v_empno emp.empno%type; v_ename emp.ename%type; v_salary emp.salary%type; CURSOR c_emp IS ...

    Oracle游标使用详解

    在Oracle数据库中,游标是一种重要的数据处理机制,主要用于在PL/SQL程序块中逐行检索查询结果集中的数据。游标可以分为两类:明确游标(Explicit Cursor)和隐式游标(Implicit Cursor)。 #### 明确游标...

    sql server 2008 存储过程示例带游标

    下面将详细解析标题“sql server 2008 存储过程示例带游标”所涉及的知识点,包括存储过程的创建、游标的使用以及SQL Server 2008中的特性。 ### 存储过程 存储过程是预编译的SQL语句集合,存储在数据库服务器上,...

    游标、存储过程的使用事例

    ### 游标与存储过程在SQL Server中的应用 #### 一、游标的使用方法 游标是数据库管理系统中用于处理查询结果集的一种机制,它允许用户逐行地访问查询结果,而不是一次返回所有数据。这对于大数据量处理尤其有用,...

    超出打开游标的最大数的原因和解决方案

    要获取为游标执行的 SQL,可以使用以下查询: SQL> select q.sql_text from v$open_cursor o, v$sql q where q.hash_value=o.hash_value and o.sid = 217; 这将显示为游标执行的 SQL 语句。 结论 超出打开游标的...

    使用游标与过程实现排名

    然后,我们在循环中使用`FETCH`语句获取游标中的每一行数据,并通过`RANK()`函数计算每行的排名。最后,关闭游标以释放资源。 接下来,我们讨论过程(Procedure)。过程是PL/SQL中的一个可重用代码块,它可以包含一...

    oracle-游标使用汇总.doc

    隐式游标是由PL/SQL引擎自动管理的,通常在单行查询中使用,如`SELECT INTO`语句。而显式游标则是程序员在PL/SQL块中明确声明、打开、关闭和操作的,适合处理多行查询结果。 声明显式游标的语法如下: ```sql ...

    不使用实际游标SQL游标

    对于排序和分组需求,可以使用`ORDER BY`和`GROUP BY`语句。 窗口函数是另一种强大的工具,它们允许我们在结果集中进行行级别的计算,如计算排名、移动平均等,而无需游标。例如,`RANK()`, `ROW_NUMBER()`, 和 `...

    游标使用的实例,学习一点总结

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在数据库环境中使用游标。游标是一种用于处理查询结果集的机制,允许我们逐行处理数据,这对于需要逐条记录进行操作的情况非常有用。...

    游标教程光标的定义与使用

    Order by view_name; Vname varchar2(40); BEGIN For i1 in c1 ('DBA') loop DBMS_OUTPUT.PUT_LINE(i1.view_name); END loop; END; ``` 在这个示例中,`view_pattern`是一个参数,可以传入不同的值来筛选`all_...

    sybase游标使用

    在Sybase数据库管理系统中,游标(Cursor)是一种重要的数据处理工具,它允许用户按需逐行处理查询结果,而...例如,可以使用`GROUP BY`和`COUNT`函数来找出重复申告最多的用户,然后利用游标处理每个用户的详细信息。

    sql server和oracle的存储过程、游标示例

    在SQL Server中,可以使用`DECLARE CURSOR`来定义一个游标,`OPEN`、`FETCH`来打开和获取数据,最后用`CLOSE`和`DEALLOCATE`关闭和释放游标: ```sql DECLARE @CustomerId INT; DECLARE MyCursor CURSOR FOR SELECT...

    oracle游标使用大全2

    在Oracle数据库中,游标是一种重要的编程元素,主要用于处理PL/SQL中的SQL查询结果集。通过游标,开发人员可以逐行处理查询结果,这对于那些需要进行复杂数据操作的应用来说至关重要。 #### 二、游标的定义与创建 ...

    Oracle 游标使用大全.txt

    - 在PL/SQL中使用`CURSOR cursor_name IS select_statement;`来声明一个游标。 - `cursor_name`是游标的名称,而`select_statement`则定义了该游标将执行的SQL查询语句。 2. **打开游标**: - 使用`OPEN cursor_...

Global site tag (gtag.js) - Google Analytics