Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sodate

Loop Cursor

Recommended Posts

Ow.. como faço pra fazer um loop num cursor?

 

DROP PROCEDURE `FECHA_PEDIDO`//
CREATE  PROCEDURE `FECHA_PEDIDO`(IN V_HOSP integer)
BEGIN
 DECLARE V_PEDIDO integer;
 DECLARE VREG CURSOR FOR SELECT ped_codigo from pedido where hos_codigo = V_HOSP;
   OPEN VREG;
	 FETCH VREG INTO V_PEDIDO;
	  UPDATE pedido set ped_aberto = 'N' where ped_codigo = V_PEDIDO;
   CLOSE VREG;
 END

eu preciso fazer um loop para fechar todos os pedidos.. mas naum sei fazer o loop....

Compartilhar este post


Link para o post
Compartilhar em outros sites

No MySQL, um CURSOR não é UPDATABLE, ou seja, não pode ser utilizado para modificar dados, somente ler pois eles são read-only features.

 

Veja esta parte do manual de certificação:

 

"Cursor provides for read only and thy connot to be used to midify tables".

 

Use Stored Procedures amigão.

 

Happy MySQL´ing. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendi, não faz muito sentido mesmo coisa de juvenil.

 

Mas se por acaso eu tivesse que fazer um select que me retornaria varias pessoas, por exemplo:

 

um select na tabela de cliente que me retornasse todos os clientes que estão com pagamento atrasado, e precisasse inserir esses clientes na tabela de cobrança, como eu faria pra percorrer o cursor e fazer a leitura de todos os clientes para inserir na tabela de cobrança? precisaria de um loop? se sim, como faço para fazer o loop?

 

att..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.