Atualmente estou estudando procedures e funções, ver se vocês podem dar uma ajuda.
Estou querendo fazer uma procedure de UPDATE com condição, porem não estou conseguindo.
Quero atualizar a tabela FUNCIONARIO. Na hora de atualizar, se NÃO existir o codigo do funcionário ele tem que ir direto pro INSERT. To me perdendo na condição IF.
segue o codigo:
CREATE OR REPLACE PROCEDURE UPDT_FUNCIONARIO
(V_COD_FUNCIONARIO IN FUNCIONARIO.COD_FUNCIONARIO%TYPE,
V_CPF IN FUNCIONARIO.NOME_FUNCIONARIO%TYPE,
V_SALARIO IN FUNCIONARIO.SALARIO%TYPE,
V_DEPARTAMENTO IN FUNCIONARIO.DEPARTAMENTO%TYPE)
IS
BEGIN
IF (SELECT * FROM FUNCIONARIO WHERE NO EXISTS
(SELECT COD_FUNCIONARIO FROM FUNCIONARIO
WHERE (COD_FUNCIONARIO = V_COD_FUNCIONARIO)))THEN
UPDATE FUNCIONARIO
SET COD_FUNCIONARIO = V_COD_FUNCIONARIO,
CPF = V_CPF ,
SALARIO = V_SALARIO ,
DEPARTAMENTO = V_DEPARTAMENTO
WHERE COD_FUNCIONARIO = V_COD_FUNCIONARIO;
ELSE
INSERT INTO FUNCIONARIO VALUES
(V_COD_FUNCIONARIO,V_CPF,V_SALARIO,V_DEPARTAMENTO);
END IF;
END UPDT_FUNCIONARIO;