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...

ORA-27102: out of memory Linux-X86_64 Error: 28: No space left on device

Upon startup of Linux database get ORA-27102: out of memory Linux-X86_64 Error: 28: No space left on device (Doc ID 301830.1) Issue: ====== ORA-27102: out of memory Linux-x86_64 Error: 28: No space left on device Solution: ========= 1. Ask SA to increase "kernel.shmall" in /etc/sysctl.conf     Formula:     RAM * 1024 * 1024 * 1024 / page_size     Ex:-     RAM = 50GB     $getconf PAGE_SIZE ==> 4096     50*1024*1024*1024/4096 = 13107200 ==> kernel.shmall 2. After updating kernel.shmall, ask SA to do "sysctl -p" to activate changes. 3. Start the DB Note: ==== Kernel values will be set in below files 1. Updating below files doesn't require system reboot.     /proc/sys/kernel/shmmax     /proc/sys/kernel/shmall     /proc/sys/kernel/shmmni     Usage:  # echo "536870912" > /proc/sys/kernel/shmmax       ...