Declararea variabilelor şi constantelor

In PL/SQL toate variabilele şi constantele trebuie declarate, înainte de folosire, prin instrucţiuni de forma:

identificator [CONSTANT] tip_data [NOT NULL] [:= expresie];

Tipuri de date

Un tip de dată precizează o mulţime de valori şi de operaţii ce se pot efectua cu acestea.
Unele tipuri de dată au şi subtipuri (o submulţime de valori din mulţimea tipului de bază şi aceleaşi operaţii ca la tipul de bază).

Definirea unui subtip utilizator

SUBTYPE nume_subtip IS tip_de_baza;
Prin tip_de_bază se înţelege un tip scalar din PL/SQL, un tip utilizator, sau unul din tipurile %TYPE, %ROWTYPE.
Exemple din pachetul sistem standard.sql

Definirea unei înregistrări

TYPE nume_tip IS RECORD (def_componenta [, def_componenta] ...);
unde "def_componenta" este de forma: nume_componenta tip [[NOT NULL] := expresie]
O componentă dintr-o înregistrare se poate folosi prin calificare cu numele înregistrării: inregistrare.componenta.
Obs. Pentru tipul unei componente se poate folosi şi o înregistrare definită anterior.

Exemplu:
declare
type ttel is record (
  fix string(10), 
  mobil string(10)
);
type tadresa is record(
  localitate varchar2(50),
  strada varchar2(50),
  numar char(5),
  telefon ttel;
adresa tadresa;

begin
  adresa.telefon.fix:='0264123456';
end;

Expresii

Operanzi: constante, variabile, coloane din tabele sau cursoare, valori ale funcţiilor utilizator sau sistem
Operatori: aritmetici (+, -, *, /), concatenare (||), relaţionali (=, <, <=, >, >=), logici (not, and, or)
In expresii se pot folosi şi operatorii:

Conversii