Boa tarde, estou fazendo uma importação de um sistema legado para um plataforma WEB e preciso pegar o código antigo e atualizar para o que passará em vigor (Codigo novo). Portando gostaria de saber como posso fazer para uma Function receber o código antido e retornar novo? Ou seja, basicamente um De/Para.
CREATE OR REPLACE FUNCTION FNC_DEPARA (PI_COD IN NUMBER)
RETURN NUMBER
IS
L_RETURN NUMBER;
BEGIN
SELECT Codigo_Novo
INTO L_RETURN
FROM Cad_Produtos
WHERE Codigo_Antigo = PI_COD;
--
RETURN L_RETURN;
/* você PODE CONVENCIONAR PARA RETORNAR
-1 QUANDO NÃO ENCONTRAR NADA
-2 QUANDO ENCONTRAR MAIS VALORES
-99 QUANDO FOR UM ERRO INESPERADO
*/
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN -1;
WHEN TOO_MANY_ROWS
THEN
RETURN -2;
WHEN OTHERS
THEN
RETURN -99;
END FNC_DEPARA;
CREATE OR REPLACE FUNCTION funcao_teste_codigo(pcod_ant NUMBER) RETURN NUMBER IS
RESULT NUMBER;
BEGIN
SELECT codigo_novo
INTO RESULT
FROM cad_produtos
WHERE codigo_antigo = :pcodant;
RETURN(RESULT);
EXCEPTION
WHEN no_data_found THEN
RETURN NULL;
END funcao_teste_codigo;