Re: [firebase-br] "DO SUSPEND"

Gladiston Santana via lista <[email protected]>
Newsgroups gmane.comp.db.firebase.portuguese
Message-ID <CALv8-NPQRa1W-=BEp2SwGu84fzwqd-50+8fJiEh2Cyjo1bp=uQ@mail.gmail.com>
Saudações além-mar Mário,

O suspend retorna uma linha de dados conforme o RETURNS indicado no
cabeçalho da procedure, então se você fizer uma procedure assim:
CREATE or alter PROCEDURE SP_ABOUT
RETURNS (
    NOME varchar(120),
    EMAIL varchar(255)
    )
AS
BEGIN
  NOME  = 'GLADISTON SANTANA';
  EMAIL = 'gladiston.santana [em] gmail.com';
  SUSPEND;
END

Se fizer  SELECT * FROM SP_ABOUT irá retornar uma linha contendo NOME e
EMAIL, mas se voce apenas comentar o SUSPEND não irá retornar nada!
Quando voce usar um FOR...SELECT...DO, você esta experimentando ler uma
linha por vez do seu select, muita gente abriria após o DO um begin...end e
só faria o SUSPEND nas linhas que desejam ser retornadas, quando o camarada
não poe nenhum BEGIN/END e já faz um SUSPEND ele intenciona retornar todos.
O problema com o 'execute statement' é que a query deve ter os mesmos
parâmetros de entrada (select....) e saida( into xxx) e ainda por cima
corresponder a cada RETURNS do cabeçalho da procedure. Quanto mais campos
indicar, maiores as chances de errar. Quando eu faço o que você está
fazendo, eu idento linha-a-linha e confiro as correspondências no INTO e
RETURNS pq é complicado enxergar erro de sintaxe na sequência.

[]´s
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://www.firebase.com.br/pesquisa_lista.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.