Problema com Procedure pl-sql com duas condições no
Olá gostaria de tirar uma dúvida tenho um procedimento para extrair informações de um arquivo, acontece o seguinte:
Nesse trecho do procedimento dá tudo certo, tem somente uma condição onde onde variavel v_txt01 for = 'texto' ele efetua a leitura e gravação
ELSIF v_txt01 = 'texto' THEN
v_sep_03 := INSTR(v_line, '|' ,1 , 3);
v_sep_04 := INSTR(v_line, '|' ,1 , 4);
v_txt03 := SUBSTR(v_line, v_sep_03+1, v_sep_04-v_sep_03-1);
v_txt04 := SUBSTR(v_line, v_sep_04+1, v_sep_05-v_sep_04-1);
INSERT INTO tbl_teste VALUES (v_txt03, v_txt04,);
v_commit := v_commit + 1;
Porém quando preciso incluir uma nova condição essa não grava nenhuma informação ou seja mesmo que a variavel v_txt_05 for = '30092018'
ELSIF v_txt01 = 'texto' AND v_txt05 = '30092018' THEN
v_sep_03 := INSTR(v_line, '|' ,1 , 3);
v_sep_04 := INSTR(v_line, '|' ,1 , 4);
v_txt03 := SUBSTR(v_line, v_sep_03+1, v_sep_04-v_sep_03-1);
v_txt04 := SUBSTR(v_line, v_sep_04+1, v_sep_05-v_sep_04-1);
INSERT INTO tbl_teste VALUES (v_txt03, v_txt04,);
v_commit := v_commit + 1;
todas as variáveis são caracteres
Alguém tem ideia do que pode ser
Nesse trecho do procedimento dá tudo certo, tem somente uma condição onde onde variavel v_txt01 for = 'texto' ele efetua a leitura e gravação
ELSIF v_txt01 = 'texto' THEN
v_sep_03 := INSTR(v_line, '|' ,1 , 3);
v_sep_04 := INSTR(v_line, '|' ,1 , 4);
v_txt03 := SUBSTR(v_line, v_sep_03+1, v_sep_04-v_sep_03-1);
v_txt04 := SUBSTR(v_line, v_sep_04+1, v_sep_05-v_sep_04-1);
INSERT INTO tbl_teste VALUES (v_txt03, v_txt04,);
v_commit := v_commit + 1;
Porém quando preciso incluir uma nova condição essa não grava nenhuma informação ou seja mesmo que a variavel v_txt_05 for = '30092018'
ELSIF v_txt01 = 'texto' AND v_txt05 = '30092018' THEN
v_sep_03 := INSTR(v_line, '|' ,1 , 3);
v_sep_04 := INSTR(v_line, '|' ,1 , 4);
v_txt03 := SUBSTR(v_line, v_sep_03+1, v_sep_04-v_sep_03-1);
v_txt04 := SUBSTR(v_line, v_sep_04+1, v_sep_05-v_sep_04-1);
INSERT INTO tbl_teste VALUES (v_txt03, v_txt04,);
v_commit := v_commit + 1;
todas as variáveis são caracteres
Alguém tem ideia do que pode ser
Alex
Curtidas 0
Respostas
Jesus Lima
19/04/2019
Olá gostaria de tirar uma dúvida tenho um procedimento para extrair informações de um arquivo, acontece o seguinte:
Nesse trecho do procedimento dá tudo certo, tem somente uma condição onde onde variavel v_txt01 for = 'texto' ele efetua a leitura e gravação
ELSIF v_txt01 = 'texto' THEN
v_sep_03 := INSTR(v_line, '|' ,1 , 3);
v_sep_04 := INSTR(v_line, '|' ,1 , 4);
v_txt03 := SUBSTR(v_line, v_sep_03+1, v_sep_04-v_sep_03-1);
v_txt04 := SUBSTR(v_line, v_sep_04+1, v_sep_05-v_sep_04-1);
INSERT INTO tbl_teste VALUES (v_txt03, v_txt04,);
v_commit := v_commit + 1;
Porém quando preciso incluir uma nova condição essa não grava nenhuma informação ou seja mesmo que a variavel v_txt_05 for = '30092018'
ELSIF v_txt01 = 'texto' AND v_txt05 = '30092018' THEN
v_sep_03 := INSTR(v_line, '|' ,1 , 3);
v_sep_04 := INSTR(v_line, '|' ,1 , 4);
v_txt03 := SUBSTR(v_line, v_sep_03+1, v_sep_04-v_sep_03-1);
v_txt04 := SUBSTR(v_line, v_sep_04+1, v_sep_05-v_sep_04-1);
INSERT INTO tbl_teste VALUES (v_txt03, v_txt04,);
v_commit := v_commit + 1;
todas as variáveis são caracteres
Alguém tem ideia do que pode ser
Nesse trecho do procedimento dá tudo certo, tem somente uma condição onde onde variavel v_txt01 for = 'texto' ele efetua a leitura e gravação
ELSIF v_txt01 = 'texto' THEN
v_sep_03 := INSTR(v_line, '|' ,1 , 3);
v_sep_04 := INSTR(v_line, '|' ,1 , 4);
v_txt03 := SUBSTR(v_line, v_sep_03+1, v_sep_04-v_sep_03-1);
v_txt04 := SUBSTR(v_line, v_sep_04+1, v_sep_05-v_sep_04-1);
INSERT INTO tbl_teste VALUES (v_txt03, v_txt04,);
v_commit := v_commit + 1;
Porém quando preciso incluir uma nova condição essa não grava nenhuma informação ou seja mesmo que a variavel v_txt_05 for = '30092018'
ELSIF v_txt01 = 'texto' AND v_txt05 = '30092018' THEN
v_sep_03 := INSTR(v_line, '|' ,1 , 3);
v_sep_04 := INSTR(v_line, '|' ,1 , 4);
v_txt03 := SUBSTR(v_line, v_sep_03+1, v_sep_04-v_sep_03-1);
v_txt04 := SUBSTR(v_line, v_sep_04+1, v_sep_05-v_sep_04-1);
INSERT INTO tbl_teste VALUES (v_txt03, v_txt04,);
v_commit := v_commit + 1;
todas as variáveis são caracteres
Alguém tem ideia do que pode ser
Opa Alex tudo bem?
Você já tentou dessa forma ELSIF (v_txt01 = 'texto' AND v_txt05 = '30092018' ) THEN quando sua condição for composta de AND?
GOSTEI 0