Re: [firebase-br] "DO SUSPEND"
Mário Reis via lista <[email protected]>
| Newsgroups | gmane.comp.db.firebase.portuguese |
|---|---|
| Message-ID | <CAF_dzrkr5pZajbmX9S_Y7=p6Zumh2S30SHqHtAOFj7=15UfmFA@mail.gmail.com> |
Se não tem outra forma de ir buscar dados a uma DB externa sem o "execute statement" o "For" vai fazer n' vezes tantas quantas verificarem a condição, certo? Então com o recurso a um Begin e antes do End posso fazer igual n⁰ insert INTO minha tabela. Compreendi bem? Obrigado A quinta, 21/09/2023, 19:14, Gladiston Santana <[email protected]> escreveu: > 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