Fórum Dúvida com Trigger #378884
04/06/2010
0
Estou iniciando na programação em bancos de dados (view, trigger, stored procedure, etc) e surgiu uma dúvida que não estou conseguindo solucionar.
Estou tentando criar uma trigger de inserção no IBExpert, cujo script segue abaixo (sem o cabeçalho da trigger)
--Operação 5 é Operação de Bônus
AS
begin
if (new.bonus = 40) then
begin
if (new.saldo > 2000.00) then
begin
insert into tbl_movimentacoes(id_operacao, id_conta, data_movimentacao, valor)
values(5, new.id_conta, current_timestamp, 500.00);
.
.
.
end
end
end
A sintaxe está ok, mas quando clico em commit, aparece o seguinte erro:
Desconfio que seja devido aos campos em negrito, onde estou tentando inserir data e hora atuais do servidor.
Como posso fazer essa inserção de data/hora pelo banco de dados no caso do Firebird?
Por favor, me ajudem!
Desde já agradeço!!!
Filipe Silva
Curtir tópico
+ 0Posts
07/06/2010
Emerson Nascimento
Gostei + 0
07/06/2010
Tiago Melo
select Current_Date from rdb$Database
select current_timestamp from rdb$database
verá que o primeiro retorna apenas data, já o seguinte retorna data e hora...tente
passar ao invéz de timestamp passar o Current_Date
qualquer coisa posta ai
Gostei + 0
07/06/2010
Tiago Melo
Gostei + 0
07/06/2010
Filipe Silva
Para resolver o problema, fiz o comando insert da seguinte maneira, como me foi recomendado:
insert into tbl_movimentacoes(id_operacao, id_conta, data_movimentacao, valor)
values(5, new.id_conta, Cast('Now' as Timestamp) , 500.00);
Por meio desse comando, consegui inserir data e hora atuais em minha trigger.
Obrigado pela ajuda, pessoal!!!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)