Beruflich Dokumente
Kultur Dokumente
PL/SQL
Using Scalar Data Types
Objectives
This lesson covers the following objectives:
Declare and use scalar data types in PL/SQL
Define guidelines for declaring and initializing PL/SQL
variables
Identify the benefits of anchoring data types with the
%TYPE attribute
Purpose
Most of the variables you define and use in PL/SQL have
scalar data types.
A variable can have an explicit data type, such as
VARCHAR2, or it can automatically have the same data
type as a table column in the database. You will learn the
benefits of basing some variables on table columns.
VARCHAR2(9);
VARCHAR2(6);
VARCHAR2(10);
LONG;
DATE := SYSDATE + 7;
DATE;
TIMESTAMP;
10
11
12
%TYPE Attribute
Look at this database table and the PL/SQL block that
uses it. This PL/SQL block stores the correct salary in the
v_emp_salary variable. But what if the table column is
altered later?
CREATE TABLE myemps (
emp_name
VARCHAR2(6),
emp_salary
NUMBER(6,2));
DECLARE
v_emp_salary
NUMBER(6,2);
BEGIN
SELECT emp_salary INTO v_emp_salary
FROM myemps WHERE emp_name = 'Smith';
END;
13
14
table.column_name%TYPE;
Examples:
...
v_emp_lname
v_balance
v_min_balance
...
15
employees.last_name%TYPE;
NUMBER(7,2);
v_balance%TYPE := 1000;
16
17
%TYPE Attribute
Look again at the database table and the PL/SQL block.
Now the PL/SQL block continues to work correctly even if
the column data type is altered later.
CREATE TABLE myemps (
emp_name
VARCHAR2(6),
emp_salary
NUMBER(6,2));
DECLARE
v_emp_salary
myemps.emp_salary%TYPE;
BEGIN
SELECT emp_salary INTO v_emp_salary
FROM myemps WHERE emp_name = 'Smith';
END;
18
Terminology
Key terms used in this lesson included:
%TYPE
Boolean
19
Summary
In this lesson, you should have learned how to:
Declare and use scalar data types in PL/SQL
Define guidelines for declaring and initializing PL/SQL
variables
Identify the benefits of anchoring data types with the
%TYPE attribute
20