Você está na página 1de 2

Create table departamento( ndep number(2) constraint pk_ndep_departamento primary key, nome varchar2(100) not null, local varchar2(100)

not null ) Create table empregado ( nemp number(5) constraint pk_nemp_empregado primary key, nome varchar2(100) not null, funcao varchar2(100) not null, salario number(10,2) not null, encarregado number(5) constraint fk_encarregado_emp references empregado (nemp), admissao date not null, ndep number(2) constraint fk_ndep_emp references departamento (ndep) ) insert into departamento values (1,'Vendas','Luanda') insert into departamento values (2,'Contabilidade','Benguela') insert into departamento values (3,'Compras','Cabinda') insert into empregado values (1,'Paulo','Tecnico',300000,null,sysdate,1) insert into empregado values (2,'Ana','Tecnico',100000,null,sysdate,2) insert into empregado values (3,'Jos','Chefe de Departamento',50000,null,sysdate, 3) insert into empregado values (4,'Maria','Tecnico',20000,null,sysdate,1) insert into empregado values (5,'Miguel','Tecnico',200000,null,sysdate,1) insert into empregado values (6,'Carlos','Tecnico',30000,null,'10/02/2011',1)

desc empregado select * from empregado declare cursor cursor_emp is select nemp,nome,funcao,salario,admissao from empregado; registo_emp cursor_emp%rowtype; begin dbms_output.put_line('Nemp Nome Funcao Salario'); open cursor_emp; loop fetch cursor_emp into registo_emp; exit when cursor_emp%notfound; if registo_emp.salario>50000 and months_between(sysdate,registo_emp.admissao)>12 then dbms_output.put_line(registo_emp.nemp||' '||registo_emp.nome||' '||registo_emp.funcao||' '||registo_emp.salario||'Merece Aumento'); else dbms_output.put_line(registo_emp.nemp||' '||registo_emp.nome||' '||registo_emp.funcao||' '||registo_emp.salario||'No Merece Aumento' ); end if; end loop; end; desc empregadoselect months_between(sysdate,admissao) from empregado

Você também pode gostar