Ok, para este tópico, não usarei o Oracle SQL Developer, mas o Oracle SQL*Plus;
Estou usando a versão 8, mas não se preocupem, isto em nada influenciará os nossos estudos. Para começarmos a lançar mensagens, teremos que habilitar o servidor de saída. Usamos a instrução ‘SET SERVEROUTPUT ON’. Você só precisa fazer isto uma vez para cada sessão, ou seja, o servidor estará habilitado até o momento em que você fechar o SQL*Plus.
Ok, agora vamos construir um Bloco Anônimo PL/SQL (já sabemos do que se trata) que vai nos retornar uma mensagem através do servidor que acabamos de ativar.
Começamos com o velho e bom ‘BEGIN’ e agora vem a novidade.
DBMS_OUTPUT.PUT_LINE(‘OLÁ! MEU NOME É RUDAK!’);
Para não me esquecer de algumas instruções, gosto de fazer certas analogias. Como não me esquecer de uma instrução deste tamanho?
DBMS -> Isto me parece ser um sigla de DataBase MeSsage (mensagem da base de dados).
DBMS_OUTPUT -> Eu traduziria isto como ‘Mensagens de saída da base de dados’
PUT_LINE -> Coloque uma linha com o conteúdo entre parênteses e avança para a próxima linha.
Obs.: para confirmar uma linha no SQL*PLUS (pular linha) use a tecla ENTER. XD;
Nosso bloco ficará assim:
BEGIN
DBMS_OUTPUT.PUT_LINE (‘OLÁ! MEU NOME É RUDAK!’);
END;
/
A barra serve para dizer ao compilador “Ok compilador! Compile o bloco PL/SQL acima!”. Já vimos que no Oracle SQL Developer não é preciso usá-la.
Resultado: ele ‘printou’ na tela a mensagem que especificamos e depois confirmou o sucesso da operação.
Pense no DBMS_OUTPUT como uma classe. Sendo uma classe, ele pode conter vários métodos. E têm. Vejamos alguns deles:
1)PUT_LINE: Já vimos como funciona, retorna uma mensagem e pula para a próxima linha. Mais tarde veremos que esta mensagem pode vir concatenada à uma variável.
Exemplo:
BEGIN
DBMS_OUTPUT.PUT_LINE(‘OLÁ! MEU NOME É RUDAK!’);
END;
/
2)PUT: Retorna uma mensagem e mas não pula para a próxima linha. Vejamos o exemplo a seguir:
Exemplo:
BEGIN
DBMS_OUTPUT.PUT(‘OLÁ! MEU NOME É’);
DBMS_OUTPUT.PUT(‘ RUDAK!’);
END;
/
O resultado da execução deste bloco será “OLÁ! MEU NOME É RUDAK!” Notaram que ele não pulou uma linha?
3)NEW_LINE: Este método simplesmente cria uma linha em branco, ou se você preferir, pula uma linha.
Eu diria que o PUT_LINE é um cruzamento de um PUT com um NEW_LINE. XD
PUT_LINE = PUT + NEW_LINE;
Exemplo:
BEGIN
DBMS_OUTPUT.PUT (‘OLÁ! MEU NOME É’);
DBMS_OUTPUT.NEW_LINE;
DBMS_OUTPUT.PUT_LINE(‘ RUDAK!’);
END;
/
Agora sim pulou para a linha debaixo!
Valeu pessoal, até a próxima!
Nenhum comentário:
Postar um comentário