Problemas na execução de SP vindo valores de csv
Criei a tabela tbita_bi_indicPREV com esse formato:
create table pimsprd.tbita_bi_indicPREV (
DATA DATE NOT NULL,
VARIAVEL varchar(30) NOT NULL,
VL_DIA NUMBER (12,5),
VL_MES NUMBER (12,5),
VL_ANO NUMBER (12,5),
CONSTRAINT tbita_bi_indicPREV_PK PRIMARY KEY (VARIAVEL,DATA)
USING INDEX TABLESPACE PIMS_DATA_004)
TABLESPACE pims_indx_004 ;
-----------------------------------------------------------------------------------------------------------------------
Posteriormente eu criei a procedure com esse formato:
create or replace procedure pimsprd.PR_ITABI_PREV(P_DATA in date,
P_VARIAVEL in varchar2,
P_VL_DIA in number,
P_VL_MES in number,
P_VL_ANO in number)
IS
c_count number;
BEGIN
-- Verifica se existe o dado previsto do indicador
Select count(*)
INTO c_count
from pimsprd.tbita_bi_indicPREV PREV
where PREV.DATA = P_DATA
and PREV.VARIAVEL = P_VARIAVEL;
If c_count > 0 then
update pimsprd.tbita_bi_indicPREV
set VL_DIA = P_VL_DIA,
VL_MES = P_VL_MES,
VL_ANO = P_VL_ANO
where DATA = P_DATA
and VARIAVEL = P_VARIAVEL;
Else
insert into pimsprd.tbita_bi_indicPREV
(DATA, VARIAVEL, VL_DIA, VL_MES, VL_ANO)
values
(p_DATA, p_VARIAVEL, p_VL_DIA, P_VL_MES, P_VL_ANO);
end if;
End;
---------------------------------------------------------------------------------------------
Quando vou testar ela com um valor muito grande por exemplo:12345678,90
Elá erro de tamanho especifico da coluna
Quando vou testar ela com um valor com final 00 por exemplo:123456,00
Ela não aceita e da erro.
---------------------------------------------------------------------------------------------
Pensei na hipotese de na SP colocar os valores em number para varchar2 e depois mudar de varchar para number através de cursor, pois ai eu não preciso alterar na tabela, pois na tabela a intenção é que eles sejam valores numéricos.
Isso faz necessário, pois vou importar os dados dela de uma planilha csv, com valores positivos e negativos dos dados.
Estu fazendo correto? alguém tem alguma sugestão?
Discussão (1)
Carregando comentários...