[firebase-br] Store procedure
John Kennedy
johnbh3 em gmail.com
Qui Nov 3 14:58:36 -03 2005
Observe que a mensagem enviado por Denis no inicio ele não informava
que existia mais de um telefone.
Mas esta valendo, até eu enviar o exemplo para ninguém tinha
manifestado em ajudar, o máximo que retornos que o amigo Denis obteve
foi usa, uma View, ou tipo assim use o First..
Eu sem ter nenhum tabela de aluno ou telefone, me disponibilizei de
criar uma SP.
Observe uma coisa, sempre quando se e feita alguma pergunta e
respondido de maneira que acaba não ajudando muito, quando alguém
resolve realmente criar o exemplo, o forum retorna fazendo as criticas
que não concorda, etc, etc.
Se tem uma coisa que aprendi, criticar e facil, ver o que esta pronto
e melhorar e muito... facil...
As vezes você ve alguém ganhando dinheiro por uma coisa tão facil, mas
um facil que você não tentou.
Abraço.
Em 02/11/05, RedDevil<reddevil em reddevil.eti.br> escreveu:
> ola pessoal.
> tudo bem com voces?
> sincerely, espero que sim...
> ;o)
>
> o post que eu fiz em resposta a msg do Luis Carlos me levou a dar um look no
> livro do Mr. Cantu, que foi a unica literatura que eu usei para pegar o
> principio da coisa no que diz respeito a criaçao de SP's (alias, para falar a
> verdade, eu aprendi SP's com um artigo do Mr. Cantu na ClubeDelphi, artigo esse
> que foi revisado e ampliado para constar no livro Firebird Essencial...;o), e
> olhando o livro eu percebi que existia um erro na SP do John para o Denis que eu
> postei antes...
>
> tipow assim, da maneira que eu fiz antes, quando a gente fizesse a chamada a SP
> daria o erro "multiples rows in a singleton select" (algo parecido...;o), pois
> eh necessario usar o "FIRST" para que um select daqueles retorne uma unica
> linha... entao eu refiz a SP, testei no IBExpert e cheguei a isso ae abaixo...
> dessa maneira sim retorna o telefone do aluno, os dois telefones, tres, quatro
> ou ate cinco telefones que existam cadastrados:
>
> /* ------------------------------- inicio da
> SP --------------------------------------- */
> CREATE PROCEDURE TESTE_TEL ( COD_ALUNO VARCHAR (10) )
> RETURNS (
> CODIGO VARCHAR (10),
> NOME_ALUNO VARCHAR (100),
> IDADE_ALUNO VARCHAR (30),
> NUM_TEL1 VARCHAR(10),
> NUM_TEL2 VARCHAR(10),
> NUM_TEL3 VARCHAR(10),
> NUM_TEL4 VARCHAR(10),
> NUM_TEL5 VARCHAR(10)
> )
> AS
> BEGIN
> For Select ALUNO.COD_ALUNO, ALUNO.NOM_ALUNO, ALUNO.IDADE_ALUNO
> From ALUNO
> Where (ALUNO.COD_ALUNO = :COD_ALUNO)
> Into :CODIGO, :NOME_ALUNO, :IDADE_ALUNO
> Do
> Begin
>
> Select first 1 TELEFONE.TEL from TELEFONE
> Where TELEFONE.COD_ALUNO = :COD_ALUNO
> Into :NUM_TEL1;
>
> Select first 1 TELEFONE.TEL from TELEFONE
> Where TELEFONE.COD_ALUNO = :COD_ALUNO
> and telefone.tel <> :num_tel1
> Into :NUM_TEL2;
>
> Select first 1 TELEFONE.TEL from TELEFONE
> Where TELEFONE.COD_ALUNO = :COD_ALUNO
> and telefone.tel <> :num_tel1
> and telefone.tel <> :num_tel2
> Into :NUM_TEL3;
>
> Select first 1 TELEFONE.TEL from TELEFONE
> Where TELEFONE.COD_ALUNO = :COD_ALUNO
> and telefone.tel <> :num_tel1
> and telefone.tel <> :num_tel2
> and telefone.tel <> :num_tel3
> Into :NUM_TEL4;
>
> Select first 1 TELEFONE.TEL from TELEFONE
> Where TELEFONE.COD_ALUNO = :COD_ALUNO
> and telefone.tel <> :num_tel1
> and telefone.tel <> :num_tel2
> and telefone.tel <> :num_tel3
> and telefone.tel <> :num_tel4
> Into :NUM_TEL5;
>
> suspend;
> END
> END
> /* ------------- final da SP ------------------------- */
>
>
> []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
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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