Lista de Exercícios 02 - PLSQL - Estudo de Caso Restaurante.pdf
Por: Cynthia Moraes • 19/11/2015 • Trabalho acadêmico • 1.687 Palavras (7 Páginas) • 695 Visualizações
-- Exercicio de Sala
set serveroutput on;
declare
v_dat_ini_1 date := to_date ('01/08/2012 07:00:00',
'dd/mm/yyyy hh24:mi:ss');
v_dat_ter_1 date := to_date ('05/08/2012 23:50:10',
'dd/mm/yyyy hh24:mi:ss');
v_dat_ini_2 date := to_date ('05/08/2012 23:45:00',
'dd/mm/yyyy hh24:mi:ss');
v_dat_ter_2 date := to_date ('07/08/2012 12:00:00',
'dd/mm/yyyy hh24:mi:ss');
begin
if NOT (v_dat_ini_1 > v_dat_ter_2 OR v_dat_ter_1 < v_dat_ini_1) then
dbms_output.put_line('Com choque');
else
dbms_output.put_line('Sem choque');
end if;
end;
--------------------------------------------------------------------------------
-- Bloco nomeado (função)
create or replace
procedure p_calcular_fatorial (numero number, res out number)
is begin
if numero in (0,1) then
res := 1;
else
p_calcular_fatorial(numero - 1, res);
res := numero * res;
end if;
end;
set serveroutput on;
declare
v_res number(10);
begin
p_calcular_fatorial(6, v_res);
dbms_output.put_line(v_res);
end;
--------------------------------------------------------------------------------
set serveroutput on;
DECLARE
v_cur academico.cursos%rowtype;
BEGIN
v_cur.cod_curso:= 26;
v_cur.nom_curso:= 'Ciência da Computação';
v_cur.tot_cred:= 300;
v_cur.idt_prof:= 3421;
dbms_output.put_line(v_cur.cod_curso||' ; '|| v_cur.nom_curso);
END;
--------------------------------------------------------------------------------
DECLARE
TYPE tipo_varray IS VARRAY(10) OF NUMBER;
v_lista tipo_varray := tipo_varray(1,2,3,4,5,6,7,8,null);
BEGIN
FOR i IN 1 .. v_lista.COUNT LOOP
dbms_output.put('['||v_lista(i)||']');
END LOOP;
dbms_output.new_line;
dbms_output.put_line( 'Limite máximo do vetor: '|| v_lista.LIMIT);
dbms_output.put_line( 'Total de elementos: '|| v_lista.COUNT);
END;
-------------------------------------------------------------------------------
DECLARE
TYPE tipo_varray IS VARRAY(10) OF NUMBER;
v_lista tipo_varray := tipo_varray();
BEGIN
v_lista.extend( v_lista.LIMIT);
FOR i IN 1 .. 8 LOOP
v_lista(i) := i;
END LOOP;
FOR i IN 1 .. v_lista.COUNT LOOP
dbms_output.put('['||v_lista(i)||']');
END LOOP;
dbms_output.new_line;
END;
--------------------------------------------------------------------------------
DECLARE
TYPE number_table IS TABLE OF NUMBER;
list NUMBER_TABLE := number_table(1,2,3,4,5,6,7,8);
BEGIN
list.DELETE(2);
FOR i IN 1..list.COUNT+1 LOOP
IF list.EXISTS(i) THEN
dbms_output.put('['||list(i)||']');
END IF;
END LOOP;
dbms_output.new_line;
dbms_output.put_line( 'Nº elementos:'||list.COUNT);
END;
--------------------------------------------------------------------------------
DECLARE
TYPE number_table IS TABLE
OF NUMBER;
list NUMBER_TABLE;
procedure incluir( p_valornumber)
is
...