Ir al contenido


Foto

contador


  • Por favor identifícate para responder
10 respuestas en este tema

#1 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 11 enero 2011 - 01:15

a ver si me explico
quiero hacer un loop, un bucle o mas bien un while que cuente del uno al 10 inicialmente es eso para despues hacer que cuente el numero de registros en una base de datos yque se repita el ciclo tantas veces como registros haya en la base
pero no me queda
se agradece la ayuda


sql
  1. SET @contador = 10 ;
  2. WHILE @contador <> 0 DO            SELECT @contador ;      SET @contador = @contador -1END WHILE


  • 0

#2 felipe

felipe

    Advanced Member

  • Moderadores
  • PipPipPip
  • 3.283 mensajes
  • LocationColombia

Escrito 11 enero 2011 - 01:18

¿Estas haciendo un procedimiento almacenado?


Saludos!
  • 0

#3 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 11 enero 2011 - 01:21

sip
mira tengo una tabla "cuentas"
y necesito importar algunos campos a otra tabla para otro procedimiento

lo que se me ocurre es eso

1.- contar los registros
2.- importar 1 registro ( o exportar a otra tabla )
3.- quitarle uno al contador
4.- repatir hasta que se llegue a cero

y digo lo estoy haciendo asi para poder hacerlo mediante un archivo bash
no lo puedo hacer como procedimiento ya que la base que tengo es una copia para desarrollar la idea cuando este listo todo
alguien mas calificado que yo, pero que no puede distraerse en correr el procedimiento lo correrá en la base de producción
  • 0

#4 felipe

felipe

    Advanced Member

  • Moderadores
  • PipPipPip
  • 3.283 mensajes
  • LocationColombia

Escrito 11 enero 2011 - 01:35

y digo lo estoy haciendo asi para poder hacerlo mediante un archivo bash
no lo puedo hacer como procedimiento ya que la base que tengo es una copia para desarrollar la idea cuando este listo todo


¿Con procedimiento o sin el?, a no ser que en MySQL exista la forma de hacer el bucle sin recurrir a un SP, no vería otra opción que hacerlo desde Delphi.


Saludos!
  • 0

#5 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 11 enero 2011 - 01:38

ha ok
digo almacenare el procedimiento en un bash por que no me saben ó quieren decir en que OS esta
el sistema de produccion

entonces por eso tenia pensado recurrir a un script con while y que corra como un query
ya le doy el archivo con el query y un bash que lo llame
  • 0

#6 felipe

felipe

    Advanced Member

  • Moderadores
  • PipPipPip
  • 3.283 mensajes
  • LocationColombia

Escrito 11 enero 2011 - 02:05

Ok mira, encontré esto:

MySQL en modo batch -> http://dev.mysql.com...batch-mode.html

Procedimientos almacenados en MySQL -> http://dev.mysql.com...procedures.html

No tengo claridad en los procedimientos en MySQL y creo que das a entender tu dificultad principalmente en la lógica del mismo, ¿estoy en lo correcto?.


Saludos!
  • 0

#7 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 11 enero 2011 - 02:12

haok
gracias

si para llamar querys almacenados en un archivo txt no tengo problema

y no puedo generarlo como un procedimiento almacenado, ya que como comentaba
el procedimiento se realizara en otro host

y si la estructura de while que es el que estoy ocupando
no me funciona
de acuerdo a el manual de mysql

http://dev.mysql.com...-statement.html

la estructura es asi

19.2.12.7. Sentencia WHILE
[begin_label:] WHILE search_condition DO
    statement_list
END WHILE [end_label]



  • 0

#8 poliburro

poliburro

    Advanced Member

  • Moderadores
  • PipPipPip
  • 4.945 mensajes
  • LocationMéxico

Escrito 11 enero 2011 - 02:14

te falta un punto y coma después del end while
  • 0

#9 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 11 enero 2011 - 02:19

AT poliburro
gracias

pero no no es la coma ( ni punto y coma ( también los intente )) :sad:
  • 0

#10 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 11 enero 2011 - 04:46

perdon creo ya entendi
lento pero seguro

entonces a wiwi
tengo que crearlo como procedimiento

para despues llamarlo ??


  • 0

#11 Beto Chavez

Beto Chavez

    Newbie

  • Miembros
  • Pip
  • 5 mensajes

Escrito 31 marzo 2011 - 11:52

Si estas usando mysql, utiliza esto:

SELECT @rownum:=@rownum+1 Secuencia, t.* FROM (SELECT @rownum:=0) r, (Select * from tabla) t;



  • 0