TRANSACT SQL - Ejemplo: Cursor.

Creado por David Miralpeix, Modificado el Fri, 16 Feb 2024 a las 12:25 PM por David Miralpeix

Cursor:

 

--Declaracion

DECLARE nombre_cursor CURSOR FOR
sentencia select
OPEN nombre_cursor
FETCH NEXT FROM nombre_cursor INTO @variable
WHILE @@FETCH_STATUS<>-1 BEGIN
-- siguiente registro
FETCH NEXT FROM nombre_cursor INTO @variable
END
CLOSE nombre_cursor
DEALLOCATE nombre_cursor
-Ejemplo

Declare @name varchar(100)
Declare @Cont int
Declare @tab TABLE (tabla varchar(100), numReg int)
DECLARE Tabs CURSOR FOR
SELECT name FROM sysobjects WERE type='u' ORDER BY 1
OPEN Tabs
FETCH NEXT FROM tabs INTO @name
WHILE @@FETCH_STATUS<>-1 BEGIN
INSERT INTO @tab (tabla,numReg)
EXEC('SELECT ''' + @name+ '''' + ', COUNT(*) FROM ' + @name)
-- siguiente
FETCH NEXT FROM tabs INTO @name
END
CLOSE tabs
DEALLOCATE tabs
SELECT * FROM @tab order by numReg

 

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo