- Este tópico contém 3 respostas, 3 vozes e foi atualizado pela última vez 17 anos, 3 meses atrás por
juliano_sb.
-
AutorPosts
-
15 de dezembro de 2008 às 3:41 pm #84279
juliano_sb
ParticipanteBom Dia Pessoal!
Estou utilizando um programa chamado SQuirrel Sql Client para acessar uma base oracle. E Precisava transformar uma coluna do tipo long em varchar2(4000). Fiz um teste com o SQL Tools e funcionou mas no SQuirrel não. Criei uma coluna nova e utilizei a sintaxe abaixo para copiar do dados da coluna A(LONG) para a Coluna B(VARCHAR2). depois apaguei os dados da A, mudei para VARCHAR2 e copiei os dados da B para a A.
Mas estou com problemas no SQuirrel para realizar esse procedimento:
/*Copia os dados da coluna long para a nova coluna varchar2*/
BEGIN
for r in (select * from Requisicoes_Texto) loop
update Requisicoes_Texto
set RQC_Comentario_Descricao2 = r.RQC_Comentario_Descricao
where ID_COMPANHIA = r.ID_COMPANHIA AND
ID_ESTABELECIMENTO_FISCAL = r.ID_ESTABELECIMENTO_FISCAL AND
ID_REQUISICAO = r.ID_REQUISICAO AND
ID_TEXTO = r.ID_TEXTO AND
RQH_RELEASE = r.RQH_RELEASE
;
end loop;
END;Quando executo o comando ele me da o seguinte erro:
Error: ORA-06550: line 9, column 38:
PLS-00103: Encountered the symbol “end-of-file” when expecting one of the following:;
SQLState: 65000
ErrorCode: 6550
Error occured in:
BEGIN
for r in (select * from Requisicoes_Texto) loop
update Requisicoes_Texto
set RQC_Comentario_Descricao2 = r.RQC_Comentario_Descricao
where ID_COMPANHIA = r.ID_COMPANHIA AND
ID_ESTABELECIMENTO_FISCAL = r.ID_ESTABELECIMENTO_FISCAL AND
ID_REQUISICAO = r.ID_REQUISICAO AND
ID_TEXTO = r.ID_TEXTO AND
RQH_RELEASE = r.RQH_RELEASElguém teria uma sugestão, ou idéia.
Um Grande Abraço
Que Deus os abençoe15 de dezembro de 2008 às 4:26 pm #84280Rodrigo Mesquita
Participantecara…será que não é o ; ? que ta na linda de baixo?
tenta executar ele bem identado para ver se funcionaBEGIN
for r in (select * from Requisicoes_Texto) loop
update Requisicoes_Texto
set RQC_Comentario_Descricao2 = r.RQC_Comentario_Descricao
where ID_COMPANHIA = r.ID_COMPANHIA
AND ID_ESTABELECIMENTO_FISCAL = r.ID_ESTABELECIMENTO_FISCAL
AND ID_REQUISICAO = r.ID_REQUISICAO
AND ID_TEXTO = r.ID_TEXTO
AND RQH_RELEASE = r.RQH_RELEASE;
end loop;
END;15 de dezembro de 2008 às 5:48 pm #84281Leonardo Litz
ParticipanteCara, ao inves de vc abrir um loop
vc pode da o update diretamenteupdate Requisicoes_Texto
set RQC_Comentario_Descricao2 = RQC_Comentario_Descricao;Tambem irá funcionar e é mais rapido.
15 de dezembro de 2008 às 7:23 pm #84285juliano_sb
ParticipanteConsegui executar utilizando o SQL Plus, o problema de fazer direto é que os campos são de tipos diferentes.
Muito Obrigado pela ajuda.
-
AutorPosts
- Você deve fazer login para responder a este tópico.