Buscar

11-09-2015 - PBD - PARTE 2 - PL-SQL - SELECT em PLSQL

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Instruções SELECT em PL/SQL 
 
Objetivos da Aula: 
3o PERIODO– Banco de Dados 
Programação de BD 
Professora: Juliana 
11/09/2015 
 
 
 
 
Instruções SQL em PL/SQL 
Extrair uma linha de dados de um banco de 
dados usando o comando SELECT. 
Fazer alterações nas linhas no banco de 
dados usando os comandos DML. 
Controlar uma transação com o comando 
COMMIT e ROLLBACK . 
 
Instruções SELECT em PL/SQL 
 
Recuperar dados do banco de dados com 
SELECT. 
Sintaxe 
SELECT select_list 
INTO {variable_name[, variable_name]... 
 | record_name} 
FROM tabela 
WHERE condição; 
Instruções SELECT em PL/SQL 
 
A cláusula INTO é necessária. 
SET SERVEROUTPUT ON 
 
DECLARE 
 v_deptno NUMBER(2); 
 v_loc VARCHAR2(15); 
BEGIN 
 SELECT deptno, loc 
 INTO v_deptno, v_loc 
 FROM dept 
 WHERE dname = 'SALES'; 
 
DBMS_OUTPUT.PUT_LINE('O Código do Departamento 
é ' || v_deptno|| ‘ e a sua localização é : ‘ || v_loc); 
 
END; 
/ 
 
 
Recuperando Dados em PL/SQL – 
 Retornar o total de salários de todos os 
funcionários no departamento especificado. 
Exemplo 
DECLARE 
 v_sum_sal emp.sal%TYPE; 
 v_deptno NUMBER NOT NULL := 30; 
BEGIN 
 SELECT SUM(sal) -- group function 
 INTO v_sum_sal 
 FROM emp 
 WHERE deptno = v_deptno; 
 
dbms_output.put_line(‘A soma dos salários é: 
‘||v_sum_sal); 
END; 
/ 
Convenções para Nomeação 
Usar uma convenção de nomeação para 
evitar ambiguidades na cláusula WHERE. 
Os identificadores e as colunas de banco de 
dados devem ter nomes diferentes. 
Podem surgir erros de sintaxe, pois o PL/SQL 
verifica primeiro a coluna no banco de dados.. 
Convenções para Nomeação 
DECLARE 
 v_orderdate ord.orderdate%TYPE; 
 v_shipdate ord.shipdate%TYPE; 
 v_ ordid ord.ordid%TYPE := 601; 
BEGIN 
 SELECT orderdate, shipdate 
 INTO v_orderdate, v_ shipdate 
 FROM ord 
 WHERE ordid = v_ordid; 
END; 
/ 
Recuperar a data da ordem de compra e de entrega para a ordem especificada. 
Alterar as tabelas de banco de dados 
usando os comandos DML: 
INSERT 
UPDATE 
DELETE 
INSERT 
UPDATE 
DELETE 
Manipulando Dados 
Usando o PL/SQL 
Inserindo Dados 
Adicionar informações sobre novos 
funcionários na tabela EMP. 
Exemplo 
BEGIN 
 INSERT INTO emp(empno, ename, job, deptno) 
 VALUES(empno_sequence.NEXTVAL, 'HARDING','CLERK', 10); 
END; 
 Inserção de Dados 
declare 
v_ename emp.ename%type := ‘JOÃO'; 
v_job emp.job%type := ‘VENDEDOR'; 
v_deptno emp.deptno%type := 10; 
begin 
 insert into emp(empno, ename, job, deptno) 
 values (empno_sequence.nextval, 
v_ename, v_job, v_deptno); 
end; 
/ 
Atualizando Dados 
Aumentar o salário de todos os funcionários 
na tabela EMP e que sejam Analistas 
(Analysts). 
Exemplo 
 
 
 
 
 
 
 
 
DECLARE 
 v_sal_increase emp.sal%TYPE := 2000; 
BEGIN 
 UPDATE emp 
 SET sal = sal + v_sal_increase 
 WHERE job = 'ANALYST'; 
END; 
Atualizando Dados 
DECLARE 
 v_sal_increase emp.sal%TYPE := 2000; 
BEGIN 
 UPDATE emp 
 SET sal = sal + v_sal_increase 
 WHERE job = 'ANALYST'; 
END; 
/ 
 
 
Deletando Dados 
Deletar linhas que pertençam ao 
departamento 10 da tabela EMP. 
Exemplo 
DECLARE 
 v_deptno emp.deptno%TYPE := 10; 
BEGIN 
 DELETE FROM emp 
 WHERE deptno = v_deptno; 
END; 
Exclusão de Dados 
 
DECLARE 
 v_deptno emp.deptno%TYPE := 10; 
BEGIN 
 DELETE FROM emp 
 WHERE deptno = v_deptno; 
END; 
/ 
Instruções COMMIT e ROLLBACK 
Iniciar uma transação com o primeiro 
comando DML para seguir uma instrução 
COMMIT ou ROLLBACK. 
Usar instruções SQL como, por exemplo, 
COMMIT e ROLLBACK, para finalizar uma 
transação explicitamente. 
Exemplo 
declare 
v_ename emp.ename%type := ‘JOÃO'; 
v_job emp.job%type := ‘VENDEDOR'; 
v_deptno emp.deptno%type := 10; 
begin 
 insert into emp(empno, ename, job, deptno) 
values (empno_sequence.nextval, v_ename, 
v_job, v_deptno); 
 commit; 
 insert into emp(empno, ename, job, deptno) 
values (empno_sequence.nextval, v_ename, 
v_job, v_deptno); 
 rollback; 
 
end; 
/

Outros materiais