游標(Cursor)是SQL中的一個基本概念。由於SQL從本質上講是一個面向集合的語言數據操縱語句(DML)所操作的對象都是集合例如select語句所返回的查詢結果, insert語句的元組集合。
在select語句中, 所返回的結果是數據庫中數據的一個工作集這就是Cursor. 在執行查詢得到工作集後, 就可以使用Fetch語句來在這個集合中遍歷 Cursor可以有select cursor和insert cursor。常用的是select cursor, 它有sequential cursor(順序游標), scroll cursor(滾動游標), for update cursor等傳統的順序游標只能順序讀取, 而scroll cursor通過一個臨時表實現了隨機讀取 for update cursur則對當前元組在數據庫中自動加上U鎖(並在更新時升級為X鎖)。
elect cursor的基本使用方法為:
declare cursor
open
循環fetch
close
free
insert cursor則實現了對表的集合插入, 基本使用方法為:
declare cursor
open
循環put
close
free