在Oracle中执行SQL语句时,将创建临时上下文区域。该区域包含与语句及其执行有关的所有相关信息。光标是指向该上下文区域的指针,并允许PL / SQL程序控制该区域。
有两种类型的游标。
隐式游标
显式游标
让我们从隐式游标开始-
每当执行SQL语句时,都会自动创建隐式游标。如果没有用于特定语句的显式游标,则会发生这种情况。隐式游标不能由程序员控制。
隐式游标有许多不同的属性。其中一些是-
如果使用INSERT,UPDATE,DELETE等命令成功获取了一条或多条记录,则它将返回TRUE。否则返回FALSE。
这与%FOUND直接相反。如果使用INSERT,UPDATE,DELETE等命令成功获取了一条或多条记录,则它将返回FALSE。否则返回TRUE。
这将返回受不同命令(例如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;