PL/SQL Data Types in Oracle encompass scalar types (VARCHAR2, NUMBER), composite types (RECORD, TABLE), and reference types (REF CURSOR). These types define the structure and constraints of data stored in variables and database columns, ensuring integrity and efficient manipulation. They support operations like arithmetic calculations, string manipulation, and handling of complex data structures, enabling robust database applications in Oracle environments.
NUMBER:
Used for storing numeric data. It can be specified with
precision and scale.
my_number NUMBER := 10;
VARCHAR2/CHAR
Used for
storing character strings. VARCHAR2 is variable-length, while CHAR is
fixed-length.
my_string VARCHAR2(50) := 'Hello, world!';
DATE/TIMESTAMP
Used for
storing date and time data.
my_date DATE := TO_DATE('2024-04-20', 'YYYY-MM-DD');
BOOLEAN
Used for
storing Boolean values (TRUE/FALSE).
is_valid BOOLEAN := TRUE;
BINARY_INTEGER/PLS_INTEGER
Used for
integer values. PLS_INTEGER is more efficient in terms of memory usage.
my_integer BINARY_INTEGER := 42;
RECORD
Also known as
a row type, it is used to define a structure that can hold multiple fields of
different data types.
TYPE employee_record IS RECORD (
emp_id NUMBER,
emp_name
VARCHAR2(100),
emp_salary NUMBER
);
TABLE
There are three types:
•
Associative Arrays (INDEX BY TABLE): Indexed by
integers or strings.
•
Nested Tables: Unordered collection of elements
indexed by integers.
•
VARRAY (Variable Size Arrays): Fixed-size array.
TYPE employee_table IS TABLE OF employee_record;
CLOB
Used to store
large amounts of character data.
my_clob CLOB;
BLOB
Used to store large amounts of binary data.
my_blob BLOB;
OBJECT
Allows you to
define your own data types with attributes and methods.
CREATE TYPE address_type AS OBJECT (
street VARCHAR2(100),
city VARCHAR2(50),
state VARCHAR2(50)
);
REF CURSOR
Used to reference a result set returned by a SQL query.
my_cursor SYS_REFCURSOR;
Comments
Post a Comment