estou usando sql dinamico assi:
OPEN C1 FOR CONSULTA;
FETCH C1 INTO SAIDA;
CLOSE C1;
Algué me ajuda por favorrrrrrrrrrr[/code]
OPEN C1 FOR CONSULTA;
FETCH C1 INTO SAIDA;
CLOSE C1;
DECLARE
--
type tpC01 is REF CURSOR;
cur01 tpC01;
--
v_Sql varchar2(255);
vcd_profissional number(9);
vnm_profissional varchar2(60);
-- ...
--
w_contador_registro NUMBER := 0;
w_arquivo text_io.file_type;
alert_button NUMBER;
--
BEGIN
--v_Sql := 'select t.cd_profissional, t.nm_profissional from profissional t';
-- ================================
alert_button := Show_Alert('CONFIRMA');
--
IF alert_button = ALERT_BUTTON1 THEN
--
set_application_property(cursor_style,'BUSY');
--
-- Geração do arquivo
:prof.dsp_nome_arquivo := 'Mailling\SEGMENTACAO_PMT' || to_char(sysdate,'ddmmyyyy') ||'.txt';
OPEN cur01 FOR select t.cd_profissional, t.nm_profissional from profissional t;
--OPEN cur01 FOR v_Sql;
LOOP
FETCH cur01 into vcd_profissional,vnm_profissional;
EXIT WHEN cur01%NOTFOUND;
w_contador_registro := w_contador_registro + 1;
--
IF w_contador_registro = 1 THEN
w_arquivo := text_io.fopen(:prof.dsp_nome_arquivo, 'W');
text_io.put_line(w_arquivo, 'CD_PROFISSIONAL;'||
'NM_PROFISSIONAL;');
END IF;
text_io.put_line(w_arquivo, vcd_profissional||';'||vnm_profissional);
END LOOP;
--
CLOSE cur01;
text_io.fclose(w_arquivo);
--
set_application_property(cursor_style,'DEFAULT');
--
IF w_contador_registro = 0 THEN
mensagem('Nenhum registro foi gravado no arquivo.', 'Aviso', 'C','N');
ELSE
mensagem(w_contador_registro||' registro(s) gravados(s) com sucesso no arquivo ' || :prof.dsp_nome_arquivo || '.', 'Geração de Arquivo', 'N', 'N');
END IF;
:system.message_level := 0;
END IF;
--
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
text_io.fclose(w_arquivo);
set_application_property(cursor_style,'DEFAULT');
mensagem('Erro ao Gerar os dados no Arquivo-'||:prof.dsp_nome_arquivo||SQLERRM, 'Erro', 'S', 'S');
END;
Usuários navegando neste fórum: Nenhum usuário registrado e 12 visitantes