Tables are made up of rows of data, each consisting of one or more columns, so it stands to reason that Oracle Database would make it as easy as possible to work with those rows of data inside a PL/SQL program.
And it does precisely that through its implementation of the datatype, such as a number or string.
The Oracle PL/SQL language was designed to be a portable, high-performance transaction processing language that is tightly integrated with the SQL language.
It is rare, indeed, to find a PL/SQL program that does not either read from or make changes to tables in a database.
A cursor can be viewed as a pointer to one row in a set of rows.
The cursor can only reference one row at a time, but can move to other rows of the result set as needed.
The statement can be a simple statement such as SET var_name = value, or a compound statement written using BEGIN and END.