PL / SQL e uma linguagem de processamento de transacoes, que oferece as seguintes vantagens:- Suporte para SQL - SQL e flexivel, poderoso e facil de aprender.- Suporte para programacao orientada a objeto- Melhor desempenho - com PL / SQL, um bloco inteiro de declaracoes podem ser enviadas para o Oracle de uma vez.- Maior produtividade - PL / SQL aumenta a produtividade, permitindo o uso de ferramentas de melhor.- A portabilidade plena - PL / SQL sao portaveis para qualquer sistema operacional e plataforma na qual o Oracle e executado.- Integracao com o Oracle- Seguranca PL / SQL pode conseguir abstracao de dados, controle de acesso. E mais: Integracao - A linguagem PL/SQL desempenha um papel central tanto para o Oracle Server atraves de procedimentos armazenados, funcoes armazenadas, gatilhos de banco de dados e pacotes.- Alem de os tipos de dados SQL tambem serem usados no codigo PL/SQL.-Combinados com o acesso direto que a linguagem SQL fornece, esses tipos de dados compartilhados integram a linguagem PL/SQL com o dicionario de dados do Oracle Server. Melhora o Desempenho - Reduz o Trafego da Rede, visto que ele agrupa as instrucoes SQL em um unico bloco e envia esse bloco inteiro para o servidor em uma unica chamada.- A linguagem PL/SQL tambem pode cooperar com as ferramentas de desenvolvimento de aplicacao do Oracle Server como, por exemplo, Oracle Developer Forms e Reports. Ao adicionar recursos de processamento procedural a essas ferramentas, a linguagem PL/SQL aumenta o desempenho. Ola!Como 'Reconhecer identificadores validos e invalidos'? Existem algumas regrinhas basicas que voce deve aprender para nao cair em uma pegadinha na prova. 1) Devem ter menos que 30 caracteres;DECLARE MINHA_VARIAVEL_GIGANTE_E_INVALIDA_DE_EXEMPLO VARCHAR2(20); BEGIN NULL; END;/ Aparentemente nao existe erro... mas se obsevarmos a regra que diz "Devem ter menos que 30 caracteres", veremos que a nossa variavel e invalida, gerando o seguinte erro:PLS-00114: identifier 'MINHA_VARIAVEL_GIGANTE_E_INVAL' too longComo resolver? Simples, basta diminuir o tamanho do nome:DECLARE MINHA_VARIAVEL_VALIDA VARCHAR2(20); BEGIN NULL; END;/ Compilado sem problemas! 2) Comecar com uma letra;Tente compilar o seguinte bloco: DECLARE 1VARIAVEL VARCHAR2(20); BEGIN NULL; END; /PLS-00103: Encountered the symbol "1" when expecting one of the following: Todo e qualquer identificador criado pelo usuario deve comecar com uma letra, minuscula ou maiuscula, mas sempre uma LETRA!3) Podem incluir $, # ou _; Todos os identificadores declarados abaixo sao validos: MINHA_VARIAVEL_VALIDA VARCHAR2(20); MINHA#VARIAVEL#VALIDA VARCHAR2(20); MINHA$VARIAVEL$VALIDA VARCHAR2(20); 4) Nao pode conter pontuacao, espacos ou hifen. Todos os identificadores declarados abaixo nao sao validos: MINHA-VARIAVEL-INVALIDA VARCHAR2(20); MINHA,VARIAVEL,INVALIDA VARCHAR2(20); MINHA VARIAVEL INVALIDA VARCHAR2(20);MINHA;VARIAVEL;INVALIDA VARCHAR2(20); etc...Ate a proxima! Ok, para este topico, nao usarei o Oracle SQL Developer, mas o Oracle SQL*Plus;Estou usando a versao 8, mas nao se preocupem, isto em nada influenciara os nossos estudos. Para comecarmos a lancar mensagens, teremos que habilitar o servidor de saida. Usamos a instrucao SET SERVEROUTPUT ON. Voce so precisa fazer isto uma vez para cada sessao, ou seja, o servidor estara habilitado ate o momento em que voce fechar o SQL*Plus. Ok, agora vamos construir um Bloco Anonimo PL/SQL (ja sabemos do que se trata) que vai nos retornar uma mensagem