[firebase-br] Variavel Blob na Stored Procedure
Renato Miranda
renato.smiranda em gmail.com
Sáb Out 27 07:50:13 -03 2007
Marcelo, tudo bem ?
Veja o código a seguir:
create table blah (
id integer not null,
data1 varchar(10),
data2 varchar(22),
data3 varchar(34),
data4 varchar(46),
amemo blob sub_type 1 segment size 80
);
SET TERM ^ ;
CREATE OR ALTER PROCEDURE MAKE_BLOB (
id integer,
data1 varchar(10),
data2 varchar(22),
data3 varchar(34),
data4 varchar(46),
lf varchar(2)) /* isto é um "CR/LF" para separar,
ou não, as linhas num memo */
as
declare variable blobstring varchar(125) = '';
begin
if (data1 is null) then data1 = 'Data1';
if (data1 is null) then data1 = 'Data2';
if (data1 is null) then data1 = 'Data3';
if (data1 is null) then data1 = 'Data4';
blobstring = data1 || lf || data2 || lf || data3 || lf || data4;
if (id is not null) then
update blah set amemo = :blobstring
where id = :id;
else
insert into blah(data1, data2, data3, data4, amemo)
values( :data1, :data2, :data3, :data4, :blobstring);
end^
SET TERM ; ^
Essas linhas fazem parte de em pequeno exemplo postado pela Sra. Helen
Borrie numa lista sobre IBO. A intenção é demonstrar o preenchimento de um
campo blob via stored procedure.
Não sei se é bem isso o que você precisa, mas espero que lhe dê algumas
idéias,
--
Abraços,
RMiranda
Em 25/10/07, Marcelo Moreira <marcelo em easysistemasmg.com.br> escreveu:
>
> Pessoal,
>
> Boa tarde!
>
>
>
> Veja o DDL da SP que eu estou testando:
>
>
>
> SET TERM ^ ;
>
>
>
> CREATE PROCEDURE NEW_PROCEDURE_TESTE
>
> AS
>
> DECLARE VARIABLE TESTE BLOB SUB_TYPE 1 SEGMENT SIZE 150;
>
> begin
>
> /* Procedure Text */
>
> TESTE = 'TESTANDO';
>
> suspend;
>
> end^
>
>
>
> SET TERM ; ^
>
>
>
> GRANT EXECUTE ON PROCEDURE NEW_PROCEDURE_TESTE TO SYSDBA;
>
>
>
> Ai eu tento chama-la assim:
>
>
>
> execute procedure NEW_PROCEDURE_TESTE
>
>
>
> Ai aparece o seguinte erro:
>
>
>
> Unsuccessful execution caused by a system error that precludes
>
> successful execution of subsequent statements.
>
> internal error.
>
>
>
> O que eu preciso é passar um valor direto para a variável que no caso é do
> tipo Blob, alguém sabe o que pode estar acontecendo? O que eu quero fazer
> não é permitido?
>
>
>
> Obrigado pela atenção!
>
> Abraços
>
>
>
> Marcelo Moreira
>
>
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.5.503 / Virus Database: 269.15.9/1084 - Release Date:
> 24/10/2007
> 00:00
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista