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

Wesley Oliveira wesley em rgsystem.com.br
Qui Jul 3 16:23:59 -03 2014


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





Mais detalhes sobre a lista de discussão lista