Fórum Problemas com Trigger Firebird #28660
28/11/2006
0
Bom dia a todos gostaria de saber se alguem poderia me responder porque esta trigger esta dando erro, como faço para ela entender que a variavel COLUNA contem o nome da coluna da tabela ao invés de achar que a variavel é uma coluna?
segue a sintaxe:
CREATE TRIGGER GERA_LOG FOR CADCLIENTE
ACTIVE AFTER UPDATE POSITION 0
AS
DECLARE VARIABLE COLUNA VARCHAR(20);
DECLARE VARIABLE DETALHE VARCHAR(600);
begin
FOR SELECT RTRIM(RDB$RELATION_FIELDS.RDB$FIELD_NAME) FIELD_NAME
FROM RDB$RELATION_FIELDS JOIN RDB$FIELDS
ON RDB$FIELDS.RDB$FIELD_NAME = RDB$RELATION_FIELDS.RDB$FIELD_SOURCE
JOIN RDB$TYPES
ON RDB$FIELDS.RDB$FIELD_TYPE = RDB$TYPES.RDB$TYPE
AND RDB$TYPES.RDB$FIELD_NAME = ´RDB$FIELD_TYPE´
WHERE RDB$RELATION_FIELDS.RDB$RELATION_NAME = ´CADCLIENTE´
ORDER BY RDB$RELATION_FIELDS.RDB$FIELD_POSITION
Into :Coluna
DO
Begin
If (NEW.COLUNA <> OLD.COLUNA) Then
Begin
DETALHE = DETALHE || COLUNA || NEW.COLUNA;
End
End
end
Por favor quem puder me ajudar eu agradeceria muito
Danilo Leal
segue a sintaxe:
CREATE TRIGGER GERA_LOG FOR CADCLIENTE
ACTIVE AFTER UPDATE POSITION 0
AS
DECLARE VARIABLE COLUNA VARCHAR(20);
DECLARE VARIABLE DETALHE VARCHAR(600);
begin
FOR SELECT RTRIM(RDB$RELATION_FIELDS.RDB$FIELD_NAME) FIELD_NAME
FROM RDB$RELATION_FIELDS JOIN RDB$FIELDS
ON RDB$FIELDS.RDB$FIELD_NAME = RDB$RELATION_FIELDS.RDB$FIELD_SOURCE
JOIN RDB$TYPES
ON RDB$FIELDS.RDB$FIELD_TYPE = RDB$TYPES.RDB$TYPE
AND RDB$TYPES.RDB$FIELD_NAME = ´RDB$FIELD_TYPE´
WHERE RDB$RELATION_FIELDS.RDB$RELATION_NAME = ´CADCLIENTE´
ORDER BY RDB$RELATION_FIELDS.RDB$FIELD_POSITION
Into :Coluna
DO
Begin
If (NEW.COLUNA <> OLD.COLUNA) Then
Begin
DETALHE = DETALHE || COLUNA || NEW.COLUNA;
End
End
end
Por favor quem puder me ajudar eu agradeceria muito
Danilo Leal
Dcpleal
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)