[firebase-br] RES: Criacao de Triggers e Stored em tempo de execucao

patricia.ayres patricia.ayres em bol.com.br
Seg Fev 22 15:41:57 -03 2010


 
Daniel,

Funcionou.

Obrigada.

Att.
Patricia



Em 12/02/2010 17:20, Daniel Fernandes < daniel em agriness.com > escreveu:
Precisei criar uma trigger no meu sistema, e utilizei o componente query
direto, dando um execSQL. E funciona... Ex.:

Query.Clear;
Query.SQL.Add('CREATE TRIGGER vw1_BD for vw1 ');
Query.SQL.Add('active before delete position 0 ');
Query.SQL.Add('as ');
Query.SQL.Add('begin ');
Query.SQL.Add('  UPDATE eparAuxConsumoRacao AS A SET A.Saldo = old.saldo
WHERE (A.cdlote=old.cdlote AND A.dtNascimento=old.dtNascimento AND
A.dias=old.dias);');
Query.SQL.Add('end ');
Query.ExecSQL;

Tente assim....

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de patricia.ayres
Enviada em: sexta-feira, 12 de fevereiro de 2010 14:53
Para: FireBase
Assunto: Re: [firebase-br] Criacao de Triggers e Stored em tempo de execucao

 

Wanderson,

Retirei as linhas do set term, e o ^.
Mesmo assim ainda nao funcionou.
Tentei com o SQLScript componente do RxLib, e tambem com o IBScript da
paleta interbase.

O Script original é o seguinte:

SET TERM ^ ;
CREATE TRIGGER NFSE_ID FOR NOTA_FISCAL_ELETRONICA
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
 IF (NEW.CD_CODIGO_NF IS NULL) THEN
 NEW.CD_CODIGO_NF = GEN_ID(GEN_NOTA_FISCAL_ELETRONICA_ID,1);
END
^
COMMIT WORK ^
SET TERM ;^

Alterei para:

CREATE TRIGGER NFSE_ID FOR NOTA_FISCAL_ELETRONICA
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
 IF (NEW.CD_CODIGO_NF IS NULL) THEN
 NEW.CD_CODIGO_NF = GEN_ID(GEN_NOTA_FISCAL_ELETRONICA_ID,1);
END
;
COMMIT WORK;

Qual componente que voce utiliza para fazer as atualizacoes.

Att.
Patricia

---------------------------------------------------

Em 12/02/2010 11:35, Wanderson Pereira < wpereira em ami.com.br > escreveu:
 Retire estas linhas, retire tb o ^ após o último END. Funciona.

Em 09/02/2010 16:15, patricia.ayres escreveu:
> Pessoal,
>
> Utilizo o Firebird 1.5 com Delphi 5.
>
> Ao tentar criar trigger's e Stored Procedure's em tempo de execucao pelo
delphi, utilizando o compomente SQLScript ou ate mesmo o IBScript, eles nao
aceitam o comando SetTerm ^.
>
> Utilizando um arquivo txt com o script da stored ou trigger e executando o
isql pelo Delphi para criar-las funciona. Porém nao quero utilizar o isql.
>
> Voces sabem o que posso fazer? Ou se tem um componente que free que posso
utliza-lo?
>
>
> Att.
>
> Patrícia
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>    

-- 
[ ]s
\\|//

+----------------OOo-V-oOO---------------+
| \/\/anderson R. P. P. - Cabo Frio - RJ |
+--------=====--------------=====--------+
|    mailto:wpereira em ami.com.br       |
| UIN  - 89166786           |
+----------------------------------------+
* O amor é cego. Só o casamento pode devolver-lhe a visão.*

______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista