Guest User

Untitled

a guest
Feb 19th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 0.84 KB | None | 0 0
  1.  
  2. /*Questão 3: Crie um procedimento que remova os dependentes com  uma determinada idade.
  3. Para isso, utilize um cursor com parâmetro. A idade também deve ser passada como parâmetro
  4. para o procedimento que deve repassá-lo ao cursor */
  5.  
  6. CREATE OR REPLACE PROCEDURE Remove_dependentes_invalidos(dataNascimento)
  7. AS
  8.     v_idade NUMBER;
  9.     v_idade := (2011 - to_number(to_date(dataNascimento, 'yyyy')));
  10.  
  11.     CURSOR verifica(v_ssnTitular empregado.ssn%TYPE, v_idade)
  12.     IS SELECT ssn
  13.     FROM EMPREGADOS
  14.     WHERE e.ssn = v_ssnTitular;
  15.    
  16.     LOOP
  17.             FETCH verifica INTO v_ssnTitular, v_idade;
  18.             EXIT WHEN verifica%notfound;
  19.  
  20.     IF (v_idade > 18) THEN
  21.     DELETE FROM DEPENDENTE
  22.     WHERE ssn = v_ssnTitular;
  23.     ELSE
  24.     dbms_output.put_line(' Os dependentes estão regularizados. Nenhuma Alteração foi feita.');
  25.     ELSE IF;
  26.  
  27.     END LOOP;
  28.  
  29.     CLOSE;
  30. END;
Add Comment
Please, Sign In to add comment