Você está na página 1de 10

1

1|Página
Base Dados II
2

Índice
Índice ............................................................................................................................................................. 2
Introdução...................................................................................................................................................... 3
Desenvolvimento ........................................................................................................................................... 4
Estrutura de dados .................................................................................................................................... 4
Inserção de Registos na tabela ................................................................................................................ 4
Bloco Pl/Sql com recurso aos tipos de dados por defeito ........................................................................ 5
Alterar o tipo de dados de uma coluna de uma tabela ......................................................................... 6
Inserir registo que use titulo com tamanho superior a 30 e inferior a 50 .............................................6
Bloco pl/sql com uso de %TYPE ou %ROWTYPE .............................................................................. 7
Conclusão...................................................................................................................................................... 8
Anexos ........................................................................................................................................................... 9

2|Página
Base Dados II
3

Introdução
.

N o âmbito da disciplina de Base Dados do 3º Ano do Curso de Engenharia Informática da Escola


Superior de Tecnologia de Castelo Branco, foi-me proposto a elaboração de uma ficha prática de
modo aplicar os conhecimentos adquiridos nas aulas teórico e práticas.
Este apresenta-se constituído com screenshots e os respectivos códigos em linguagem Sql

3|Página
Base Dados II
4

Desenvolvimento

Estrutura de dados
A estrutura inicial da base dados será apenas constituída por uma tabela designada Livro que apresenta
os seguintes atributos :
-isbn
-titulo
-ano

Inserção de Registos na tabela

De modo a poder realizar qualquer consulta é necessário inserir registos, seguidamente apresento a
inserção de três registos.

4|Página
Base Dados II
5

A nossa tabela fica assim com os seguintes registos:

Bloco Pl/Sql com recurso aos tipos de dados por defeito


Um bloco de PL/SQL divide-se em três secções:
- Secção Declarativa
- Secção de Execução
- Secção de Tratamento de excepções

EXEMPLO:
<<nome do bloco>
DECLARE
<declaração das variáveis >
BEGIN
<comandos procedimentais>
<comandos SQL>
EXCEPTION
<tratamento de execpcões>
END

Comandos Executados :

Declare
ibn number;
year number;
title varchar2(50);

begin

Select isbn, titulo, ano


into ibn, title, year from Livro
where isbn =1;

dbms_output.put_line(ibn);
dbms_output.put_line(title);
dbms_output.put_line(year);

end;

5|Página
Base Dados II
6

Alterar o tipo de dados de uma coluna de uma tabela


O comando para realizar alterar a coluna “titulo” para varchar2(50), esta de de acordo com a imagem
seguinte:

Inserir registo que use titulo com tamanho superior a 30 e inferior a 50

Script criado de modo alterar o tamanho do titulo :


Declare
TESTE varchar2(50):='dsldkslskslksldksldsldksldsldksldksldksdkssldksld'

Begin

TESTE := SUBSTR(TESTE,30,50);
dbms_output.put_line(TESTE);
Insert into Livro values(4,TESTE,2010);

end;
6|Página
Base Dados II
7

Bloco pl/sql com uso de %TYPE ou %ROWTYPE

Código criado:
Declare
TESTE Livro.titulo%TYPE :='TESTETSTETSTETSTETSTETSTETSTETSTETSTETSTETSTETS';

Begin

TESTE := SUBSTR(TESTE,30,50);
dbms_output.put_line(TESTE);

Insert into Livro values(4,TESTE,2011);

end;

7|Página
Base Dados II
8

Conclusão
Com a elaboração do trabalho permitiu assim observar os factos relativamente aos comandos inseridos,
e aprofundar a parte prática da linguagem.

8|Página
Base Dados II
9

Anexos
Create Table Livro(isbn int, titulo varchar2(20), ano int);

Insert Into Livro values(1000,'Base Dados I',2007);


Insert Into Livro values(1001,'Base Dados II',2009);
Insert Into Livro values(1002,'Base Dados III',2010);

Declare
ibn number;
year number;
title varchar2(50);

begin

Select isbn, titulo, ano


into ibn, title, year from Livro
where isbn =1;

dbms_output.put_line(ibn);
dbms_output.put_line(title);
dbms_output.put_line(year);

end;

ALTER TABLE Livro MODIFY ( titulo varchar2(50) );

Declare
TESTE varchar2(50):='dsldkslskslksldksldsldksldsldksldksldksdkssldksld';

Begin

TESTE := SUBSTR(TESTE,30,50);
dbms_output.put_line(TESTE);

Insert into Livro values(4,TESTE,2010);

end;

Declare
TESTE Livro.titulo%TYPE
:='TESTETSTETSTETSTETSTETSTETSTETSTETSTETSTETSTETS';

Begin

TESTE := SUBSTR(TESTE,30,50);
dbms_output.put_line(TESTE);
9|Página
Base Dados II
10

Insert into Livro values(4,TESTE,2011);

end;

Tabela final :

10 | P á g i n a
Base Dados II

Você também pode gostar