[firebase-br] Tranformar Campo blob para string através de uma trigger.

Wellington Melo wellmsilva em gmail.com
Ter Dez 23 11:12:57 -03 2008


Tenho um banco de dados, com a tabela "script" nessa tabela é inserido as
alterações realizadas no banco (insert e update em algumas tabelas) caso o
campo itinerante da tabela "configurações" seja "S", isso é feito atraves de
uma trigger.

a trigger é mas ou menos assim:

AS
declare variable l_isItinerante varchar(1);
declare variable l_sql varchar(16000);
begin
select first 1 c.itinerante from car_configuracao c into l_isItinerante;
if (:l_isItinerante = 'S') then begin
l_sql = 'INSERT INTO CAR_NASCIMENTO(NAS_LOCAL_DESCNOVO, NAS_CASADO,
NAS_UF_RESID_DECLARANTE,... NAS_OBS) VALUES (';
l_sql = l_sql ||
CASE
when new.NAS_LOCAL_DESCNOVO is null then 'null,'
else
'''' || new.NAS_LOCAL_DESCNOVO || ''','
end; ....

....CASE
when new.NAS_OBS is null then 'null'
else
'''' || new.NAS_OBS || ''''   <<<<<< aqui o problema
end;
l_sql = l_sql || '); ';

//  todo o script acima é atribuido a variavel "l_sql" = varchar(16000). E
depois inserido no campo "sql" da tabela CAR_SCRIPT.

insert into CAR_SCRIPT(sql, datahora) values(:l_sql, current_timestamp);

Estou com um problema ao inserir o campo NAS_OBS que é blob na variável
l_sql(varchar 16000) dá uma excessão de erro.

Gostaria de saber , como poderia resolver esse problema.



Mais detalhes sobre a lista de discussão lista