[firebase-br] Stored procedure simples

Andrei Luís compuvale.software em gmail.com
Ter Nov 15 22:58:30 -03 2005


Apenas complementando o que o Luiz te falou:

Pelo que me consta, todo select dentro de uma SP deve fazer uso do
INTO para jogar o result do select em variáveis, assim como o exemplo
do Luiz.

Por esse motivo, mesmo que mudasse cód para cod, você não iria
conseguir criar a sua SP.

[]
Andrei

Em 15/11/05, RedDevil<reddevil em reddevil.eti.br> escreveu:
> ola Lucas,
>
>
> Post By Lucas:
> >[cut]
> > Problema: Eu estou usando o Firebird 1.5 no meu Pc e quando tento criar uma
> > procedure de Seleção com direção ao código ocorre um erro tanto no IBExpert
> > quanto no Prompt Do Isql. Por que ??
>
> o erro que da quando da criaçao dessa tua SP pode ser devido e esses
> dois lances ae abaixo:
>
>
> > Create procedure seleciona(cód integer) as
>
> seria "cod", e nao "cód"...
>
>
> > SELECT CODIGO, NOME, FONE, ENDERECO FROM CONTATOS
> > WHERE CODIGO = :cod
>
> esta faltando um ";" (ponto e virgula) no final da instruçao SQL...
>
>
> como eu nao entendi a finalidade dessa tua SP, eu adaptei ela para que
> ela te retorne o resultado do teu select, tranformando-a assim em uma
> Stored Procedure Selecionavel...
>
> coloque esse codigo que eu estou colocando ae abaixo, tal qual esta,
> salvo algum erro de digitaçao meu (qualquer coisa na qual voce ficar na
> duvida, falae, que eu ou algum outro colega ae da lista te ajuda), e
> alterando o tamanho/tipo dos campos para ficarem como estao na tua
> tabela, no IBExpert, e cria a SP pelo IBExpert, que entao voce nao
> precisa se preocupar com o SET TERM...
>
> crie a SP usando o IBExpert, e depois voce usa ela no delphi, mediante o
> uso de um componente TQuery, sendo que nesse componente voce da um
> select na SP, passando o parametro, e a SP te retorna no TQuery as
> informaçoes que satisfaçam a condiçao que voce especificou...
>
> e vai fundo ae... na minha humilde opiniao, o uso de SP's eh o melhor
> caminho para se trabalhar com o Firebird, eh um recurso poderoso e eh
> muito preferivel usar SP's a ficar fazendo selects extremamente complexos...
>
> se voce precisar de alguma literatura sobre o assunto, eu acho que voce
> deveria ar uma olhada no livro do Mr. Cantu, o Firebird Essencial
> (http://www.firebase.com.br/fb/livro/fbessencial), pois nele tem um
> excelente exemplo de SP Selecionavel, e tambem todo o principio da coisa
> no que diz respeito ao PSQL, que eh a "linguagem" usada em SP's e
> Triggers...
>
> eis ae o codigo da SP:
>
> /* ========== inicio da SP ================ */
> create procedure seleciona( cod integer )
> returns(
> rcodigo integer,
> rnome varchar(50),
> rfone varchar(10),
> rendereco varchar(50)
> )
> as
> begin
>
> SELECT CODIGO, NOME, FONE, ENDERECO FROM CONTATOS
> WHERE CODIGO = :cod
> into :rcodigo, :rnome, :rfone, :rendereco;
>
> suspend;
>
> end
> /* ========= final da SP ========== */
>
>
> boa sorte ae...
>
>
> []s
> força sempre!!!
> ate +++
>
> --
> Luiz "RedDevil" Stefanski - Linux User #399026
> http://www.RedDevil.eti.br - Delphi 4 Powered by IBObjects
> exemplos e dicas sobre o IBObjects:
> http://www.firebase.com.br/cgi-bin/firebase.cgi/dnld?ID=165
> compilaçao/instalaçao do IBObjects sabor BPG:
> http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=630




Mais detalhes sobre a lista de discussão lista