SQL PLUS
O Utilitário Oracle SQL*Plus
Durante o curso utilizaremos a ferramenta Oracle SQL*Plus para manipulação da
base de dados de treinamento assim como do Dicionário de Dados.
O SQL*Plus é uma ferramenta de queries, que nos permite através de uma janela,
padrão caracter, acessar o RDBMS Oracle, descrevendo literalmente os comandos
SQL que queremos submeter ao gerenciador, retornando imediatamente o resultado
da operação.
Não devemos confundir o SQL*Plus como uma extensão da linguagem SQL no
ambiente Oracle, na verdade, o nome é apenas sugestivo do que o produto
propõe-se a fazer que é permitir a manipulação de queries e comandos SQL
diretamente no RDBMS Oracle.
Regras básicas para se escrever comandos SQL
· Os comandos SQL podem ser distribuídos em uma ou mais linhas;
· Utilizar tabulações para alinhar as cláusulas, facilitando a visualização;
· Colocar as cláusulas separadas por linhas;
· Os comandos SQL podem ser escritos em maiúsculas ou minúsculas (not
case sensitives);
· O comando SQL deve ser digitado inicialmente no prompt do SQL e, em
seguida, nas linhas numeradas. As linhas que foram digitadas, estão
armazenadas no Buffer do SQL*Plus, para recuperação na execução e
edição;
· O comando SQL deve ser terminado com (;) (ponto e vírgula), quando então
será executado imediatamente;
Professor Venturi Pag 1/10
Continuação da Atividade de Laboratório 1 – BD 2
Iniciando no SQL*Plus
No ambiente Windows:
Iniciar/Programas/Oracle - OraHome81/Application Development/SQL Plus
Então aparecerá uma tela de log on, onde são solicitados o nome, password e a
string de conexão com a instância do banco de dados.
No ambiente Caracter Mode (Linha de Comando):
No prompt do sistema operacional (MS-DOS Prompt) digite:
D:\> sqlplus [username [/password [@string de_conexão] ] ]
Onde:
username Seu nome como foi criado no banco de dados
password Sua senha de acesso ao banco de dados
@database A string de conexão com o banco de dados
Nota:
· Em modo linha de comando, podemos entrar no SQL*Plus sem digitar a
password juntamente com o username, que impedirá que sua password fique
visível.
· A string de conexão é o elo de ligação entre a nossa aplicação ou ferramenta
Cliente e o banco de dados Oracle..
Professor Venturi Pag 2/10
Continuação da Atividade de Laboratório 1 – BD 2
No nosso curso para acionar o Oracle SQL Plus será preciso digitar o nome do
usuário.
Em nosso caso o nome será VENTREDBD0810Nome do Usuário e inicialmente a
senha de todos será senha e o String host oracnova.
Por exemplo, para um usuário de nome MOZART o login seria preenchido da
seguinte forma:
Nome : ventredbd0810mozart
Senha : senha
String do Host : oracnova
Executando um script e criando o banco de dados do curso
Carregar o banco de dados da SuperSports, usando o SQL*Plus
· Colocar o disquete no drive A
· Digitar o comando @ a:[Link]
Pressionar a tecla / (barra)
Buffer do Sql Plus
· O buffer SQL é uma parte da memória do computador gerenciada pelo SQL*Plus
e onde são armazenados os comandos SQL.
· Um comando SQL permanece no buffer até que um novo comando SQL seja
digitado.
· Para executar um comando SQL digitar ; (ponto e vírgula) e pressinar a tecla
ENTER.
Ex Select * from c_regiao;
Obs: Para executar o comando armazenado no buffer digitar / (barra) e pressionar a
tecla ENTER.
Mudando a senha de usuário
Após a conexão o usuário poderá alterar a sua senha utilizando o seguinte comando:
alter user <usuário> identified by <senha>;
Professor Venturi Pag 3/10
Continuação da Atividade de Laboratório 1 – BD 2
No exemplo do usuário mozart se ele desejasse alterar a sua senha para ‘segredo’
o comando seria
alter user ventredbd0810mozart identified by segredo;
Obs: A senha não pode começar por números e só pode conter letras, algarismos
números e _ .
Exemplos de Comandos
SQL> select * from c_regiao;
ID NOME
---------- --------------------
1 North America
2 South America
3 Africa / Middle East
4 Asia
5 Europe
Obs: O “;” informa que a digitação do comando [Link]é então o
SQL abre uma nova linha para continuar a digitação do comando.
SQL> select * <enter>
2 from <enter>
3 c_regiao; <enter>
ID NOME
---------- --------------------
1 North America
2 South America
3 Africa / Middle East
4 Asia
5 Europe
O Enter em uma linha em branco volta para o prompt de comando deixando o
que foi digitado até o momento gravado no buffer.
SQL> select *
2 from c_depto
3
O “L” lista o conteúdo do buffer. O buffer só armazena o último comando.
SQL> l
Professor Venturi Pag 4/10
Continuação da Atividade de Laboratório 1 – BD 2
1 select *
2* from c_depto
Usamos a “/” para executar o commando do buffer
SQL> /
ID NOME ID_REGIAO
---------- --------------- ----------
10 Financeiro 1
31 Vendas 1
32 Vendas 2
33 Vendas 3
34 Vendas 4
35 Vendas 5
41 Operações 1
42 Operações 2
43 Operações 3
44 Operações 4
45 Operações 5
ID NOME ID_REGIAO
---------- --------------- ----------
50 Administrativo 1
12 linhas selecionadas.
Configurando o Ambiente
Podemos configurar vários aspectos do ambiente do SQL Plus através o item
opções/ ambiente do menu
O SQL trabalha com uma tela padrão de 80 colunas o que faz com que linhas
maiores do que 80 sejam quebradas na tela.
SQL> SELECT * FROM C_EMPR;
ID ULT_NOME PRIM_NOME SENHA DT_ADMIS
---------- -------------------- --------------- -------- --------
COMENTARIOS ID_GERENTE
-------------------------------------------------- ----------
CARGO ID_DEPTO SALARIO PERC_COMISSAO
------------------------- ---------- ---------- -------------
1 Velasquez Carmen cvelasqu 03/03/90
Presidente 50 2500
2 Neves Lauro lngao 08/03/90
Professor Venturi Pag 5/10
Continuação da Atividade de Laboratório 1 – BD 2
1
VP, Operações 41 1450
Para ajustar esta largura é só alterar o valor em Opções-ambiente
SQL> SELECT * FROM C_EMPR;
ID ULT_NOME PRIM_NOME SENHA DT_ADMIS COMENTARIOS
---------- -------------------- --------------- -------- -------- -----------------
1 Velasquez Carmen cvelasqu 03/03/90
2 Neves Lauro lngao 08/03/90
3 Nogueira Mário mnagayam 17/06/91
4 Queiroz Mark mquickto 07/04/90
5 Rodrigues Alberto aropebur 04/03/90
6 Ugarte Marlene murguhar 18/01/91
7 Machado Roberto rmenchu 14/05/90
8 Bastos Bernardo bbiri 07/04/90
9 Camargo Antonio acatchpo 09/02/92
10 Hubert Marta mhubert 27/02/91
11 Margarida Carla cmagee 14/05/90
ID ULT_NOME PRIM_NOME SENHA DT_ADMIS COMENTARIOS
---------- -------------------- --------------- -------- -------- -----------------
12 Guimarães Henrique hgiljum 18/01/92
13 Sedeghi Yasmin ysedeghi 18/02/91
14 Nice Maria mnguyen 22/01/92
15 Dumas Andre adumas 09/10/91
16 Madeira Elena emaduro 07/02/92
17 Silva George gsmith 08/03/90
Os cabeçalhos são mostrados a cada 14 linhas por causa do tamanho
padrão da página. Este tamanho também pode ser alterado em opções-ambiente.
Professor Venturi Pag 6/10
Continuação da Atividade de Laboratório 1 – BD 2
A largura do Buffer é responsável pela porção visível de tela.
Com o valor 250 o resultado aparece com uma barra de rolagem que
permite visualizar os campos mais a direita.
Professor Venturi Pag 7/10
Continuação da Atividade de Laboratório 1 – BD 2
Editando o Buffer
O comando ED abre um arquivo no Notepad contendo o conteúdo do Buffer.
Este arquivo pode ser editado normalmente. A barra do final NÃO PODE SER
RETIRADA e NÃO DEVE SER DIGITADO o ponto-e-vírgula ao final. As alterações
serão selvas no arquivo [Link] . Para executar o comando basta digitar no
prompt do SQL:
Obs: Em Opções-Ambiente o local de gravação do arquivo [Link]
pode ser alterado caso seja necessário.
Professor Venturi Pag 8/10
Continuação da Atividade de Laboratório 1 – BD 2
Professor Venturi Pag 9/10
Continuação da Atividade de Laboratório 1 – BD 2
Exibindo a Estrutura de uma Tabela
O comando DESCRIBE exibe a estrutura de uma tabela, visão ou procedure
conforme mostrado na tela abaixo. Neste exemplo, estamos descrevendo a estrutura
da visão user_tables. Mais detalhes sobre estes tipos de objetos serão abordados
no decorrer do curso.
SQL> desc user_tables
Nome Null? Type
----------------------------------------------- ---------------------- -----------------------
TABLE_NAME NOT NULL VARCHAR2(30)
TABLESPACE_NAME VARCHAR2(30)
CLUSTER_NAME VARCHAR2(30)
IOT_NAME VARCHAR2(30)
PCT_FREE NUMBER
PCT_USED NUMBER
INIT_TRANS NUMBER
MAX_TRANS NUMBER
INITIAL_EXTENT NUMBER
PCT_INCREASE NUMBER
...........
SQL>
Nota:
· Pode ser resumido digitando-se DESC e exibe o nome de cada coluna, se
ela é obrigatória ou não, o tipo do dado e o comprimento.
As informações fornecidas pelo comando são:
NAME - nome de cada coluna da tabela
NULL? - se a coluna é de preenchimento obrigatório
Not null significa que a coluna é de preenchimento obrigatório
TYPE - o tipo do dado armazenado na coluna
NUMBER (w,d)
VARCHAR2(n)
DATE
CHAR(n)
Exercício
Mostrar a estrutura de uma tabela usando o comando DESCRIBE
· Ex 01: mostrar a estrutura da tabela de Empregado
· Ex 02: mostrar a estrutura da tabela de Cliente
Professor Venturi Pag 10/10
Continuação da Atividade de Laboratório 1 – BD 2
Alterando a Conexão ou Desconectando
Estando conectado no SQL*Plus, também podemos desconectar ou alterar a nossa
conexão, ou para outro usuário na mesma instância ou numa instância diferente,
conforme mostrado abaixo:
SQL> connect [username [/password [@string desconexão)]]
Connected.
SQL> disconnect
Disconnected from Oracle8i Enterprise Edition Release [Link].0 –
Production
With the Partitioning option
JServer Release [Link].0 - Production
SQL> (Digitar o comando EXIT para sair do SQL*PLUS)
Resposta dos Exercícios
1. DESC c_empr;
2. DESC c_cliente
Professor Venturi Pag 11/10