Jump to content

oracle data do sistema


afroman110
 Share

Recommended Posts

como ´´e que faço em oracle para ir buscar a data de "hoje" para gurdar num campo de uma tabela num trigger??


CREATE OR REPLACE TRIGGER historico 
after UPDATE ON casa
for each row
BEGIN
insert into histcasa
values ( x, y, z)


o que eu quero saber ´´e o que ´´e que tenho que por em vez de x para ficar a data de hoje.

desde j´´a agradeço resposta rapida..

Link to comment
Share on other sites

ok, obrigado, acho que e isso

😉

mas agora tou com outro prob..

?

CREATE OR REPLACE TRIGGER historico 
AFTER UPDATE ON casa FOR EACH ROW
BEGIN
  INSERT
  INTO histcasa
  VALUES ( 
  sysdate,
  OLD.cod_casa,   
  OLD.cod_cliente,
  OLD.tipo_casa,  
  OLD.tipologia, 
  OLD.ano_construcao,
  OLD.area,  
  OLD.aluguer, 
  OLD.venda,  
  OLD.preco_aluguer, 
  OLD.preco_venda,   
  OLD.obs,
  OLD.cod_agencia, 
  OLD.morada,   
  OLD.regiao,   
  OLD.localizacao,  
  NEW.cod_cliente,
  NEW.tipo_casa,
  NEW.tipologia,
  NEW.ano_construcao,
  NEW.area,
  NEW.aluguer,
  NEW.venda,
  NEW.preco_aluguer,
  NEW.preco_venda,
  NEW.obs,
  NEW.cod_agencia,
  NEW.morada,
  NEW.regiao,  
  NEW.localizacao);
END;

quando tento compilar isto da-me dois erros estranhos.. :wallbash:

Error(6,65530): PL/SQL: SQL Statement ignored

Error(38,7): PL/SQL: ORA-00984: column not allowed here

os caracteres dos sitios em que esta a dar erro men tao pouco existem

Link to comment
Share on other sites

quando tens OLD.xxxx ou NEW.yyyy

deverias ter :OLD.xxxx e :NEW.yyyy

portanto, penso que o que te falta são os dois pontos  ":"

já agora.. uma sujestão:

deves sempre colocar no statement INSERT INTO table (a, b, c ....) VALUES (....)

ou seja, deves colocar o nome das colunas da tabela... porque, imagina que alteras a tabela porque precisas de uma nova coluna... lá tens tu que alterar também o trigger e todos os inserts que tenhas espalhados por procedimentos e packages... and so on ...

no entanto, se tiverres os nomes das colunas.. e desde que a nova coluna tenha um valor default.. já não tens esse problema de manutenção.. o todos os inserts continuam válidos 😉

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.