Estrutura Básica do PL/SQL
A unidade básica em PL/SQL é um bloco. Todos os programas em PL/SQL são compostos por blocos, que podem estar localizados uns dentro dos outros. Geralmente, cada bloco efetua uma ação lógica no programa. Um bloco tem basicamente a seguinte estrutura:
DECLARE
/* Seção para declaração de variáveis, */
/* tipos e subprogramas locais. */
BEGIN
/* Seção Executável: nesta seção ficam */
/* as instruções procedurais e SQL. */
/* Esta é a única seção do bloco que é indispensável. */
EXCEPTION
/* Seção onde ficam as instruções de tratamento de erro. */
END;
Somente a seção executável é obrigatória, as outras seções são opcionais. As únicas instruções SQL permitidas em um programa PL/SQL são SELECT, INSERT, UPDATE, DELETE , várias outras instruções de manipulação de dados e mais algum controle de transação. Contudo, a instrução SELECT tem uma forma especial na qual uma única tupla é colocada em variáveis.
As instruções de definição de dados como CREATE, DROP ou ALTER não são permitidas. A seção executável também contém construções tais como atribuições, desvios, loops, chamadas a procedimentos e triggers.
FONTE: https://goo.gl/AGx2lP