ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Criando Procedure no Oracle atribuindo valor a uma variavel

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
danielfarage
Novato
Novato


Registrado: Terça-Feira, 1 de Dezembro de 2009
Mensagens: 1

MensagemEnviada: Ter Nov 27, 2012 2:50 pm    Assunto: Criando Procedure no Oracle atribuindo valor a uma variavel Responder com Citação

Srs., estou precisando de ajuda. Estou criando procedures no Oracle
em tempo de execução. O problema é que na hora que preciso atribuir
algo numa variavel da erro. O exemplo aí em baixo é bem simples.
Obrigado desde já.

erro aqui nesta linha StringSql:=StringSql+ ' V_SQLERRM := ''XXXXXX'' ;'+chr(10);
Sem esta linha funciona, mas preciso criar procedures com varias atribuições.

StringSql:=StringSql+ ' CREATE OR REPLACE PROCEDURE AAA_PROCTESTE '+chr(10);
StringSql:=StringSql+ ' IS '+chr(10);
StringSql:=StringSql+ ' V_SGUNIDADE varchar2(20) DEFAULT NULL; '+chr(10);
StringSql:=StringSql+ ' V_NOME_ARQ VARCHAR2 (50) DEFAULT NULL; '+chr(10);
StringSql:=StringSql+ ' V_SQLERRM VARCHAR2(4000); '+chr(10);
StringSql:=StringSql+ ' BEGIN '+chr(10);
StringSql:=StringSql+ ' execute_immediate ('' CREATE TABLE AAA_TESTE AS SELECT * FROM aaa_pgu_ativ_real '');'+chr(10);

StringSql:=StringSql+ ' V_SQLERRM := ''XXXXXX'' ;'+chr(10);

StringSql:=StringSql+ ' END; '+chr(10);
with Qrycria do begin
SQL.Clear;
sql.Add(StringSql);
try
ExecSQL;
except
CNOME:=CNOME;
end;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
fabiofs
Profissional
Profissional


Registrado: Sábado, 29 de Março de 2003
Mensagens: 660
Localização: Rio de Janeiro

MensagemEnviada: Qua Nov 28, 2012 1:51 pm    Assunto: Responder com Citação

Tudo tem um sentido, crio nisso. Mas criar procedures em tempo de execução é uma prática não muito comum. No seu caso (mesmo não sabendo o erro que acontece) você terá que tomar cuidado com o tipo de dado do campo que está sendo comparado com a variável.

Se for varchar terá que usar um QUOTEDSTR para passar o valor para que o mesmo fique entre aspas. Se for data, terá que fazer isto e ainda passar no formato correto.

Se você postar o erro, talvez fique mais fácil de te ajudar.
_________________
MBA. Fábio Ferreira da Silva
fabiofs@hotmail.com
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB