[firebase-br] set term???

Kelver Merlotti kmerlotti em gmail.com
Seg Jul 19 12:55:42 -03 2010


Resumidamente, você troca o ; por ^, e depois destroca.
Para que? Dentro do corpo da procedure você pode notar vários ;, não é mesmo?
Se o set term não fosse aplicado, como o servidor saberia onde
encerrar o comando? No primeiro ; ele tentaria encerrar e aí não ia
dar certo.
O set term fala ao servidor que o que encerra o comando é o ^ não mais
o ;, fazendo o servidor entender o comando inteiro.
Obs: não necessariamente você precisa usar o ^, pode ser outro caracter!
Abraços!

Kelver Merlotti
Coordenador Editorial do Portal www.ActiveDelphi.com.br
Contato: kelver em activedelphi.com.br
Google: kmerlotti em gmail.com
Twitter: http://twitter.com/kmerlotti
Tem um segundo? Então, dá uma olhadinha nisso:
Um site de publicidades, de Portugal, está pagando em euros (quase 3x
mais que em reais) pra quem estiver disposto a:
 * Ler anúncios
 * Visitar sites
 * Clicar em banners
 * Navegar na NET
 * Ler e-mails
 * Convidar novos usuários
O pagamento pode ser feito de várias formas!
Registra lá. Não custa nada!!! ;-)
http://www.publipt.com/pages/index.php?refid=kmerlotti



On Mon, Jul 19, 2010 at 12:47, Levy Moreira <levymoreira.ce em gmail.com> wrote:
> Eu estava dando uma olhada nos codigos de um sistema quando de repente me
> deparei com isso:
>
> set term ^ ;
> CREATE PROCEDURE SP_RESERVAJUST
> AS
>  declare variable CDPRO integer;
>  declare variable GRADE varchar(8);
>  declare variable QUANT float;
>  declare variable CONSI char(1);
>  declare variable COL integer;
>  declare variable ROW integer;
> begin
>  update IN01PRO set RESEV = 0;
>  update IN01SLD set RESEV = 0;
>  for
>    select CDPRO, GRADE, QUANT, CONSI from IN01ORC
>    where (CONSI = 'S') and (SITUA <> 2)
>    into CDPRO, GRADE, QUANT, CONSI
>  do
>    begin
>      select COL, ROW from SP_EXTRACTCOLROW(:GRADE)
>      into COL, ROW;
>
>      if (COL is not null or ROW is not null) then
>      begin
>        update IN01PRO set RESEV = RESEV + :QUANT
>        where (CDPRO = :CDPRO);
>
>        update IN01SLD set RESEV = RESEV + :QUANT
>        where (CDPRO = :CDPRO)
>        and (:COL is null or CDCOL = :COL)
>        and (:ROW is null or CDLIN = :ROW);
>      end
>    end
> end^
> set term ; ^
>
> Alguem sabe pra que, e como se utiliza este 'set term ; ^'  ?
> Se a pergunta for muito besta desculpa a ignorancia.
> Obs: O codigo se encontra dentro de um sqlprocessor.
> Obrigado desde já.
>
> --
> Levy Moreira
> ______________________________________________
> 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://firebase.com.br/pesquisa
>




Mais detalhes sobre a lista de discussão lista