Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
danielfarage Novato
![Novato Novato](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star1.gif)
Registrado: Terça-Feira, 1 de Dezembro de 2009 Mensagens: 1
|
Enviada: Ter Nov 27, 2012 2:50 pm Assunto: Criando Procedure no Oracle atribuindo valor a uma variavel |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
fabiofs Profissional
![Profissional Profissional](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star5.gif)
![](images/avatars/264134ca0ec0bcec7d.jpg)
Registrado: Sábado, 29 de Março de 2003 Mensagens: 660 Localização: Rio de Janeiro
|
Enviada: Qua Nov 28, 2012 1:51 pm Assunto: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
|