Skip to main content

Oracle Cursors

Oracle creates a memory area for processing an SQL statement, which contains all information needed for processing the statement.

A cursor is a pointer to this memory area. PL/SQL controls the memory area through a cursor. A cursor holds the rows (one or more)
returned by a SQL statement.

There are two types of cursors:
    Implicit cursors
    Explicit cursors


    Implicit Cursor:
    =================
    Implicit cursors are automatically created by Oracle whenever DML operations are performed, 
    Programmers cannot control the implicit cursors and the information in it.
    Whenever a DML statement (INSERT, UPDATE and DELETE) is issued, an implicit cursor is associated with this statement.
    For INSERT operations, the cursor holds the data that needs to be inserted.
    For UPDATE and DELETE operations, the cursor identifies the rows that would be affected.


    Explicit cursors:
    ==================

    Explicit cursors are programmer defined cursors for gaining more control over the memory area.
    An explicit cursor should be defined in the declaration section of the PL/SQL Block.
    It is created on a SELECT Statement which returns more than one row.

Comments

Popular posts from this blog

CLSRSC-430: Failed to start rolling patch mode

############################################################ GRID PSU Failed on Node2: =========================== [root@server1 tmp]# /oracrs/oracle/product/12102/OPatch/opatchauto apply /path1/patches/23273629 -oh /oracrs/oracle/product/12102 -ocmrf /tmp/ocm.rsp OPatch Automation Tool Copyright (c)2014, Oracle Corporation. All rights reserved. OPatchauto Version : 12.1.0.1.10 OUI Version        : 12.1.0.2.0 Running from       : /oracrs/oracle/product/12102 opatchauto log file: /oracrs/oracle/product/12102/cfgtoollogs/opatchauto/23273629/opatch_gi_2016-11-25_06-13-44_deploy.log Parameter Validation: Successful Configuration Validation: Successful Patch Location: /path1/patches/23273629 Grid Infrastructure Patch(es): 21436941 23054246 23054327 23054341 DB Patch(es): 23054246 23054327 The following patch(es) are duplicate patches with patches installed in the Oracle Home.  [ 20299023] You hav...

SQL Plan Management [ SPM ]

============================================= SQL> SHOW parameter baselines NAME                                 TYPE        VALUE ------------------------------------ ----------- ------- optimizer_capture_sql_plan_baselines boolean     FALSE optimizer_use_sql_plan_baselines     boolean     TRUE SQL> ============================================= Connect as SPM user and create a table as follows. -------------------------------------------------- SQL> CREATE TABLE EMPLOYEE (code number,dept char(100),address char(1000)); Table created. SQL> ============================================= Populate some rows in the table =================================== declare c1 number; begin for c1 IN 1..10000 ...