PDA

Ver la Versión Completa : Loop desde el Analizador de Consultas


Jvilomar
28-09-2005, 19:10:27
Hola a todos....

Tengo unos datos en una tabla y quisiera correrle un proceso a otra tabla en base a estos datos... mi pregunta es la siguiente:

existe la posibilidad de correr un script con un loop desde la ventana del Analizador de Consultas?

o sea quisiera saber si existe la forma de correrselo a traves de un loop, sin tener que recurrir a StoredProcedures o algo asi.

Gracias....

__hector
28-09-2005, 20:53:02
que es un loop? Para que quieres un loop? te refieres a un loop, como para recorrer cada registro de una tabla, y ejecutar acciones sobre una segunda en base a esos datos? si es asi, has pensado en usar cursores? si es asi, puedes ver los Books Online, que traen ejemplos clarificadores en cuanto al funcionamiento y sintaxis de los mismos.

Sino, explicanos con mas detalle...

mamcx
29-09-2005, 00:33:18
Si se puede, pero lo mas probable es que te sea mas util usar la sintaxis:


INSERT INTO TABLA1 (campo1,...)
SELECT campo1,... FROM Tabla2


De lo contrario toca usar cursores....

Xianto
30-09-2005, 08:57:32
Tambien hay posibilidades como un While...


While 1=1
begin
if not exists(select top 1 * from tabla where paso=1)
break
if a=b
begin
.....
.....
end
.......
.......
end

While exists(select top 1 * from tabla where paso=0)
begin
......
update tabla set paso=1 where ......
end

Bueno, son ejemplos, si quieres postea un poco de tu código he intentaremos ser más concretos.

Saludetes !!!

Jvilomar
01-10-2005, 17:51:53
Gracias por responder... perdonen es que eh estado muy atareado y no habia revisado el hilo...

Bien este es el problema... tengo en una tabla unos registros.... IdCuenta,NOmbres, Monto,Pagado,Inicial,Balance,FechaUltimoPago... digamos Tabla 1 y en otra tengo idCuenta,Nombres,Deuda o Atraso y necesito agregarle otros campos que no vienen al caso mencionar.. ahora bien.. lo que deseo hacer es recorrer la tabla 1 y por medio al codigo de la cuenta hacer ciertas operaciones con ese mismo codigo en la tabla 2.... update, Deletes o Inserts.. no importa... pero quiero hacerlo desde el QueryAnalizer.. porque no puedo estar haciendo aplicaciones cada vez que necesito hacer alguno que otro proceso como ese....

bueno.. espero haberme explicado mejor.....

Gracias por todo..

__hector
02-10-2005, 00:07:36
mira en los books online como utilizar cursores (bajo el apartado de DECLARE CURSOR ...)

Esa solucion te va como anillo al dedo

Jvilomar
03-10-2005, 14:41:21
Pues Muchas Gracias por Vuestra ayuda... eh logrado hacer lo que necesitaba precisamente con los cursores.. claro tomando en cuenta algunas lecturas adicionales que tuve que realizar porque los hice con un tanto de miedo.... porque si son peligrosos... dañinos para los novatos.. :D etc..etc..etc.

De todos modos muchas gracias... los resultados fueron los esperados....

Dios Bendiga al Club Delphi :cool: