/ Published in: SQL
Declaramos tantas variables como campos vaya a devolver la select que nos estamos currando para el cursor, en este ejemplo con dos campos vamos contentos:
* declare @campo1 int
* declare @campo2 int
Ahora declaramos el cursor, al cual lo nombraremos Registros.
* DECLARE Registros CURSOR FOR
* select campo 1, campo2 from tabla
Abrimos el cursor:
* open Registros
Y jugamos con él, en este caso primero le diremos que meta los datos del primer registro en las variables:
* FETCH NEXT FROM Registros INTO @Campo1,@Campo2
Abrimos un while para recorrer el cursor hasta que no queden registros
* while @@fetch_status>=0
* begin
aqui hacemos lo que tengamos que hacer
* INSERT INTO DB.dbo.Tabla (Campo1, Campo2) VALUES (@Campo1,@Campo2)
le volvemos a decir que meta los campos del siguiente registro en nuestras variables
* fetch next from Registros into @campo1 ,@campo2
cerramos el while
* end
cerramos el cursor
* close Registros
* deallocate Registros
* declare @campo1 int
* declare @campo2 int
Ahora declaramos el cursor, al cual lo nombraremos Registros.
* DECLARE Registros CURSOR FOR
* select campo 1, campo2 from tabla
Abrimos el cursor:
* open Registros
Y jugamos con él, en este caso primero le diremos que meta los datos del primer registro en las variables:
* FETCH NEXT FROM Registros INTO @Campo1,@Campo2
Abrimos un while para recorrer el cursor hasta que no queden registros
* while @@fetch_status>=0
* begin
aqui hacemos lo que tengamos que hacer
* INSERT INTO DB.dbo.Tabla (Campo1, Campo2) VALUES (@Campo1,@Campo2)
le volvemos a decir que meta los campos del siguiente registro en nuestras variables
* fetch next from Registros into @campo1 ,@campo2
cerramos el while
* end
cerramos el cursor
* close Registros
* deallocate Registros
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
DECLARE @Campo1 AS INTEGER DECLARE @Campo2 AS INTEGER DECLARE Registros CURSOR FOR SELECT Campo1, Campo2 FROM Tabla OPEN Registros FETCH NEXT FROM Registros INTO @Campo1,@Campo2 WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO DB.dbo.Tabla (Campo1, Campo2) VALUES (@Campo1,@Campo2) FETCH NEXT FROM Registros INTO @Campo1,@Campo2 END CLOSE Registros DEALLOCATE Registros
URL: http://www.forosdelweb.com/f15/comparar-2-tablas-339906/