📜  SQL 中的游标是什么?

📅  最后修改于: 2021-09-08 15:29:44             🧑  作者: Mango

光标是临时存储器或临时工作站。它是在用户对表执行 DML 操作时由数据库服务器分配的。游标用于存储数据库表。游标有两种类型:隐式游标和显式游标。这些解释如下。

  1. 隐式游标:
    隐式游标也称为 SQL SERVER 的默认游标。这些游标是在用户执行 DML 操作时由 SQL SERVER 分配的。
  2. 显式游标:
    显式游标由用户在用户需要时创建。显式游标用于以逐行方式从表中获取数据。

如何创建显式游标:

  1. 声明游标对象。
    语法: DECLARE cursor_name CURSOR FOR SELECT * FROM table_name
    DECLARE s1 CURSOR FOR SELECT * FROM studDetails
  2. 打开光标连接。
    语法: OPEN cursor_connection
    OPEN s1
  3. 从游标中获取数据。
    从游标访问数据共有 6 种方法。它们如下:
    FIRST用于仅从游标表中获取第一行。
    LAST用于仅从游标表中获取最后一行。
    NEXT用于从游标表中向前取数据。
    PRIOR用于从游标表向后获取数据。
    ABSOLUTE n用于从游标表中获取准确的第 n 行。
    RELATIVE n用于以递增方式和递减方式获取数据。
    语法: FETCH NEXT/FIRST/LAST/PRIOR/ABSOLUTE n/RELATIVE n FROM cursor_name

    FETCH FIRST FROM s1
    FETCH LAST FROM s1
    FETCH NEXT FROM s1
    FETCH PRIOR FROM s1
    FETCH ABSOLUTE 7 FROM s1
    FETCH RELATIVE -2 FROM s1
    
  4. 关闭游标连接。
    语法: CLOSE cursor_name
    CLOSE s1
  5. 释放游标内存。
    语法: DEALLOCATE cursor_name
    DEALLOCATE s1