Oracle DBMS中的游标

在Oracle中执行SQL语句时,将创建临时上下文区域。该区域包含与语句及其执行有关的所有相关信息。光标是指向该上下文区域的指针,并允许PL / SQL程序控制该区域。

有两种类型的游标。

  • 隐式游标

  • 显式游标

让我们从隐式游标开始-

隐式游标

每当执行SQL语句时,都会自动创建隐式游标。如果没有用于特定语句的显式游标,则会发生这种情况。隐式游标不能由程序员控制。

隐式游标有许多不同的属性。其中一些是-

发现%

如果使用INSERT,UPDATE,DELETE等命令成功获取了一条或多条记录,则它将返回TRUE。否则返回FALSE。

%未找到

这与%FOUND直接相反。如果使用INSERT,UPDATE,DELETE等命令成功获取了一条或多条记录,则它将返回FALSE。否则返回TRUE。

%ROWCOUNT

这将返回受不同命令(例如INSERT,UPDATE,DELETE等)影响的行数。

%开了

如果游标已打开,则返回TRUE,否则返回false。但是,对于隐式游标,该值始终为FALSE,因为在执行其指令后立即关闭游标。

显式游标

虽然隐式游标是自动创建的,但显式游标是由程序员专门创建的。PL / SQL块的声明部分提供了定义。

创建一个显式游标具有以下步骤-

声明游标

游标声明如下。在这里,光标是c_student-

CURSOR c_student IS
Select Stu_ID,Stu_Name from Student;

游标

游标如下打开-

OPEN c_student;

取得游标

提取游标时一次访问一行。提取游标的操作如下-

FETCH c_student INTO
c_stuID, c_stuName;

关闭光标

关闭游标时,释放分配的内存。这样做如下-

CLOSE c_student;