[firebase-br] RES: RES: RES: blob em trigger

Wesley Oliveira wesley em rgsystem.com.br
Sex Jul 4 08:51:50 -03 2014


Olá pessoal, 

Alguém tem alguma idéia?
Já fiz todo tipo de alteração nessa trigger e nada funciona...

Vi que alguns registros antigos possuem a observação e nunca havia sido
mexido nestas tabelas/trigger desde que a mesma foi criada...
Já fiz Backup/Restore do banco e continua sem funcionar.

Criei uma base nova, somente com duas tabelas e fiz uma trigger idêntica e
funcionou! Mas no sistema onde preciso não funciona...
Se eu passar o texto literal para o INSERT OR UPDATE, ele insere
normalmente, mas se eu passo por Local Variable, não insere nem por reza...
mesmo que seja VAR_OBS = 'Texto de Teste';
Sempre fica em branco...

E como achei no site janus-software, " Local variables cannot have ARRAY or
BLOB types."...


Wesley Oliveira
Programador de Sistemas de Informação
RG System Informática
Fone:      +55 (27) 3727-1127
Celular:    +55 (27) 99606-0038




-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Wesley Oliveira
Enviada em: quinta-feira, 3 de julho de 2014 16:24
Para: 'FireBase'
Assunto: [firebase-br] RES: RES: blob em trigger

Não está.. tudo tem valor e, ao parar o cursor no comando, eu consigo ver
que a variável possui o texto da maneira que eu quero mesmo.

Segue link com o texto original da trigger :  http://pastebin.com/5wGyqSES

Att.

Wesley Oliveira
Programador de Sistemas de Informação
RG System Informática
Fone:      +55 (27) 3727-1127
Celular:    +55 (27) 99606-0038



-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Suporte
Geraconst Enviada em: quinta-feira, 3 de julho de 2014 16:12
Para: 'FireBase'
Assunto: [firebase-br] RES: blob em trigger

Verifique se algum parâmetro está com valor nulo, Pq se estiver, na
concatenação o resultado será nulo, Utilize o coalesce para tratar os nulos.
OBSERVACAO = '''Atestado para Aluno: '||coalesce(NEW.CSI_MATALU,'')||' - '||
coalesce(:NOME_ALUNO,'')||', Tipo: '|| coalesce(NEW.CSI_TIPO,'')||

          ', Periodo: '|| coalesce(:PERIODOI,'')||' a '||
coalesce(:PERIODOF,'')|| coalesce(:VALIDADE_ESCALA,'')||'''';

-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Wesley Oliveira
Enviada em: quinta-feira, 3 de julho de 2014 15:58
Para: FireBase
Assunto: [firebase-br] blob em trigger

Pessoal,

 

Tenho uma tabela com a seguinte estrutura:

 

CREATE TABLE DIARIO_OBSERVACOES (

    ID               D_KEY NOT NULL /* D_KEY = INTEGER NOT NULL */,

    PERIODO_LETIVO   D_INTEGER /* D_INTEGER = INTEGER */,

    ID_GRADE         D_INTEGER /* D_INTEGER = INTEGER */,

    ID_TURMA         D_INTEGER /* D_INTEGER = INTEGER */,

    OBSERVACAO       D_BLOB600 /* D_BLOB600 = BLOB SUB_TYPE 1 SEGMENT SIZE
600 */,

    CODIGO_ATESTADO  D_INTEGER /* D_INTEGER = INTEGER */

);

 

Eu manipulo essa tabela através de uma trigger de outra tabela e a situação
é a seguinte...

O valor para o campo OBSERVACAO é montado em uma variável do tipo
VARCHAR(2000), pois são várias informações possíveis que posso colocar nesse
campo.

 

Ao dar o UPDATE OR INSERT INTO DIARIO_OBSERVACOES(...), o registro é
inserido normalmente, mas o campo OBSERVACAO fica em branco.

Se eu rodar o UPDATE manualmente pelo Script Executive, o campo OBSERVACAO
recebe o valor corretamente...

 

Já tentei executar o comando com EXECUTE STATEMENT e também não funcionou...
Alguém tem alguma idéia?

 

Abaixo o comando executado pela Trigger:

 

OBSERVACAO = '''Atestado para Aluno: '||NEW.CSI_MATALU||' -
'||:NOME_ALUNO||', Tipo: '||NEW.CSI_TIPO||

          ', Periodo: '||:PERIODOI||' a
'||:PERIODOF||:VALIDADE_ESCALA||'''';

 

UPDATE OR INSERT INTO DIARIO_OBSERVACOES (PERIODO_LETIVO, ID_GRADE,
ID_TURMA, OBSERVACAO, CODIGO_ATESTADO)

        VALUES (NEW.CSI_ANOLET, :GRADE, NEW.CSI_CODTUR, :OBSERVACAO,
NEW.CSI_CODATESTADO)

        MATCHING (CODIGO_ATESTADO, ID_GRADE);

 

Att.

Wesley Oliveira
Programador de Sistemas de Informação

RG System Informática
Fone:      +55 (27) 3727-1127
Celular:    +55 (27) 99606-0038

______________________________________________
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


---
Este email está limpo de vírus e malwares porque a proteção do avast!
Antivírus está ativa.
http://www.avast.com


______________________________________________
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