Salve Salve companheiros,
estou com um problema cruel para criar via codigo uma trigger em um banco de dados SYBASE ANYWHERE.
preciso criar uma trigger que salve em uma tabela os dados inseridos, alterados e excluidos de uma tabela.
identificando qual comando que executou a trigger (insert, update ou delete), e gravando na minha tabela.
o problema é que não consigo criar a trigger com o comando a seguir. me retorna o erro na execução do cast.
Syntax error near ‘AS’ on line 8
CREATE TRIGGER sync_tabela
AFTER UPDATE, DELETE, INSERT
ORDER 1 ON tabela
FOR EACH ROW
BEGIN
CASE
WHEN INSERTING THEN
INSERT INTO sync VALUES ( (SELECT max(id_sync) FROM sync)+1 ,CAST ( NEW.id AS varchar ), table-name, trigger-name, 'INSERT', 'AGUARDANDO', NOW())
WHEN UPDATING THEN
IF ( NEW.id <> OLD.id OR NEW.funcinario <> OLD.funcinario OR NEW.licao <> OLD.licao) THEN
INSERT INTO sync VALUES ( (SELECT max(id_sync) FROM sync)+1 ,CAST ( NEW.id AS varchar ), table-name, trigger-name, 'UPDATE', 'AGUARDANDO', NOW())
END IF
WHEN DELETING THEN
INSERT INTO sync VALUES ( (SELECT max(id_sync) FROM sync)+1 ,CAST ( OLD.id AS varchar ), table-name, trigger-name, 'DELETE', 'AGUARDANDO', NOW())
END
ja me quebrei bastante e não consegui resolver.
agradeço a todos que tentarem me ajudar