December 2002
Intermediate to advanced
928 pages
85h 29m
English
Use the %TYPE attribute to anchor the datatype of a scalar variable (which contains a single value) either to another variable or to a column in a database table or view. Use %ROWTYPE to anchor a declaration to a cursor or table.
The following block shows several variations of anchored declarations:
DECLARE
tot_sales NUMBER(20,2);
-- Anchor to a PL/SQL variable.
monthly_sales tot_sales%TYPE;
-- Anchor to a database column.
v_ename employee.last_name%TYPE;
CURSOR mycur IS
SELECT * FROM employee;
-- Anchor to a cursor.
myrec mycur%ROWTYPE;The NOT NULL clause on a variable declaration (but not on a database column definition) can follow the %TYPE anchoring and requires anchored declarations to have a default in their declaration. The default value for an anchored declaration can be different from that for the base declaration.