[firebase-br] Variavel Blob na Stored Procedure

Daivid Paulo daividpaulo.infor em gmail.com
Dom Out 28 20:50:09 -03 2007


oi

Verifica se os dados são do mesmo tipo da variavel criada se for verifica
também as permissoões da tabela..

Espero ter ajuda,se não
mais valeu a intenção


Em 27/10/07, Renato Miranda <renato.smiranda em gmail.com> escreveu:
>
> 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
> >
> ______________________________________________
> 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