SQL游標中Order By的使用限制

2021-08-31 20:19:34 字數 467 閱讀 5786

在建立游標的select語句中使用了order by子句,與非游標中select語句中的order by子句不同,只有在查詢的select子句中出現的列才可以作為order by子句中出現的列。

例子:declare book_cusor cursor

forselect 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 

SQL中的游標

什麼叫游標 cursor 乙個游標 cursor 可以被看作指向結果集 a set of rows 中一行的指標 pointer 游標每個時間點只能指向一行,但是可以根據需要指向結果集中其他的行。例如 select from employees where m 會返回所有性別為男的雇員,在初始的時候...

SQL中利用ORDER BY排序結果

剛開時學習sql server的你不知道有沒有這樣的乙個困擾,如下mytable表,id欄位作為乙個排序列,排序為何如此的不整齊,怎樣讓它查詢時按我想要的順序排列呢,這就要用到sql中的ordr by 子句了。order by子句位於select語句的末尾它允許指定乙個列或多個列,這些列確定查詢結果...

SQL 中的游標例項

宣告變數 declare imtype varchar 10 imresourceid varchar 10 定義游標 declare information cursor cursor for select imtype imresourceid from bjyx dbo information...