Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa Tarde!
Alguém poderia exemplificar o uso da função mapping com sql?
Obrigado!
Ola a função mapping, independe da utilização do SQL ou Resident ou INLINE e etc.
Basicamente ele faz um "CASE" generico para as tabelas, primeiro é definido uma tabela de mapeamento por exemplo:
MAPEAMENTO_TESTE:
MAPPING LOAD * INLINE [
ID, NOVO_VALOR
A, 10
B, 20
C, 30
];
Depois é aplicado este mapeamento na tabela desejada, ou seja, onde existir o valor "A" ou "B" ou "C" será substituido pelos valores "10" ou "20" ou "30".
LOAD
ID,
VALOR_ANTIGO,
APPLYMAP('MAPEAMENTO_TESTE', ID) AS VALOR_NOVO
INLINE [
ID, VALOR_ANTIGO
A, 1
B, 2
C, 3
];
Como parâmetro na função APPLYMAP o primeiro argumento é o nome da tabela de mapeamento (no exemplo MAPEAMENTO_TESTE) e o segundo corresponde ao valor a ser pesquisado nesta tabela de mapeamento (A ou B ou C) o retorno da função é a segunda coluna da tabela de mapeamento (100, 200, 300)
No caso do SQL seria a mesma idéia onde teria que existir uma tabela de mapeamento pré-definida e depois aplicar a função APPLYMAP no retorno do LOAD por exemplo
LOAD
ID,
APPLYMAP('MAPEAMENTO_TESTE', ID) AS VALOR;
SQL
SELECT 'A' ID
FROM DUAL;
Abraços
Ola a função mapping, independe da utilização do SQL ou Resident ou INLINE e etc.
Basicamente ele faz um "CASE" generico para as tabelas, primeiro é definido uma tabela de mapeamento por exemplo:
MAPEAMENTO_TESTE:
MAPPING LOAD * INLINE [
ID, NOVO_VALOR
A, 10
B, 20
C, 30
];
Depois é aplicado este mapeamento na tabela desejada, ou seja, onde existir o valor "A" ou "B" ou "C" será substituido pelos valores "10" ou "20" ou "30".
LOAD
ID,
VALOR_ANTIGO,
APPLYMAP('MAPEAMENTO_TESTE', ID) AS VALOR_NOVO
INLINE [
ID, VALOR_ANTIGO
A, 1
B, 2
C, 3
];
Como parâmetro na função APPLYMAP o primeiro argumento é o nome da tabela de mapeamento (no exemplo MAPEAMENTO_TESTE) e o segundo corresponde ao valor a ser pesquisado nesta tabela de mapeamento (A ou B ou C) o retorno da função é a segunda coluna da tabela de mapeamento (100, 200, 300)
No caso do SQL seria a mesma idéia onde teria que existir uma tabela de mapeamento pré-definida e depois aplicar a função APPLYMAP no retorno do LOAD por exemplo
LOAD
ID,
APPLYMAP('MAPEAMENTO_TESTE', ID) AS VALOR;
SQL
SELECT 'A' ID
FROM DUAL;
Abraços
Cara muito obrigado!
Ficou bem claro agora como funciona a função mapping