Exercicios pl/sql

Disponível somente no TrabalhosFeitos
  • Páginas : 3 (511 palavras )
  • Download(s) : 0
  • Publicado : 25 de junho de 2012
Ler documento completo
Amostra do texto
--1) Faça um trigger que após atualizada a coluna LAST_NAME da tabela EMPLOYEES, armazene
--na tabela temp_emp (criar a tabela) os dados:
--LAST_NAME antigo e novo, cargo, data da atualização ecódigo do usuário que realizou tal
--operação.

DROP TABLE TEMP_EMP;

CREATE TABLE TEMP_EMP(
LAST_NAME VARCHAR2(25),
JOB_ID VARCHAR2(10),
HIRE_DATE DATE,
EMPLOYEE_ID NUMBER(10));

CREATE ORREPLACE TRIGGER PROVA_EMP
BEFORE UPDATE OF LAST_NAME, JOB_ID, HIRE_DATE, EMPLOYEE_ID ON EMPLOYEES
--EM NÍVEL DE LINHA;
FOR EACH ROW
BEGIN
INSERT INTO TEMP_EMP
VALUE(:old.LAST_NAME,:new.LAST_NAME, :new.job_id, :new.hire_date, :new.employee_id);
END ;
/

--2) Crie uma view de nome v_func que retorne os seguintes dados
--o nome e sobrenome do funcionario (FIRST_NAME E LAST_NAME)databela de EMPLOYEES, FIRST_NAME E LAST_NAME - OK
--o nome do departamento (DEPARTMENT_NAME)tabela DEPARTMENTS, DEPARTMENT_NAME - OK
--o nome da cidade(CITY) da tabela LOCATIONS, CITY - OK
--o nome do pais (COUNTRY_NAME) da tabela COUNTRIES,COUNTRY_NAME - OK
--o nome da regiao (REGION_NAME) da tabela REGIONS, REGION_NAME - OK
--e o titulo do cargo (JOB_TITLE) da tabela JOBSJOB_TITLE - OK
--dos funcionários que possuem o último nome LAST_NAME iniciando com a letra A

DROP VIEW V_FUNC;
/

CREATE VIEW V_FUNC AS
SELECTEMPREGADO.FIRST_NAME, EMPREGADO.LAST_NAME, DEPARTAMENTO.DEPARTMENT_NAME, CIDADE.CITY, PAIS.COUNTRY_NAME, REGIAO.REGION_NAME, CARGO.JOB_TITLE
FROM EMPLOYEES EMPREGADO, DEPARTMENTS DEPARTAMENTO,LOCATIONS CIDADE, COUNTRIES PAIS, REGIONS REGIAO, JOBS CARGO
WHERE UPPER(LAST_NAME) LIKE UPPER('A%');
/

--3) Faça uma procedure de nome [p_cadastro] para cadastrar todos os dados
--na tabela de...
tracking img