“Conocimiento software>Software de base de datos

Cómo utilizar los cursores anidados

2014/4/12
Los cursores son una estructura prevista en versiones programables de Structured Query Language ( SQL) como Sybase o de Microsoft SQL Server Transact -SQL. Define un cursor para una selección o actualización de SQL en una o más tablas. El cursor tiene un nombre que puede utilizar para hacer referencia a , abrir y cerrar el cursor o captar filas desde el conjunto de cursor. Los cursores se utilizan cuando cada fila del conjunto de las necesidades de procesamiento o de sus valores se utilizan en las variables del programa . Cuando un nuevo cursor se declara en el bucle que procesa cada fila de un cursor, el nuevo cursor interno se desliza por el interior del viejo cursor exterior . Instrucciones
1

Declarar un cursor para una sentencia SELECT simple con la siguiente sintaxis T -SQL :

DECLARE CURSOR

PARA SELECT campo1 , campo2 , field3

dE

DONDE campo4 < = @ limitval
2

Abra el cursor para el procesamiento de usar este T -SQL sintaxis:

OPEN
3

captar filas desde el cursor abierto para el procesamiento, ya que es una lectura ( select) cursor. Declarar las variables necesarias para almacenar los valores de los campos de la fila actual del cursor. La sintaxis T -SQL para captar filas del cursor es el siguiente :

TRAER DESPUÉS DE EN var_fld1 @ , @ var_fld2 , @ var_fld3

mientras que @ @ fetch_status == 0

comenzar

--- < proceso fila actual del cursor aquí>

TRAER DESPUÉS DE EN var_fld1 @ , @ var_fld2 , @ var_fld3

final
4

Agregar la declaración y ejecución de la segunda o interior cursor en la zona de alcance de bucle del cursor anterior o exterior de la siguiente manera :

- cursor exterior buscar loop

mientras que @ @ fetch_status == 0

comenzar

< proceso actual fila de cursor externa aquí>

- Es hora de declarar el interior del cursor - anidación comienza

DECLARE cURSOR inner_cursor

PARA SELECCIONAR X , Y, Z, ....

FROM tabla1 , tabla2 , ...

DONDE

OPEN inner_cursor

TRAER DESPUÉS DE inner_cursor EN varX @ , @ varían @ Varz ...

mientras que @ @ fetch_status == 0

empezar - cursor interno traiga loop

-

- obtiene la fila siguiente

TRAER DESPUÉS DE inner_cursor EN varX @ , @ varían @ Varz ...

final - cursor interno recoger loop

final - cursor exterior traiga loop


Software de base de datos
¿Qué entiendes por la relación de tabla en el diseño de la base de datos?
Cómo actualizar una consulta de otra tabla en Access
¿Qué aplicaciones de base de datos deben ser compatibles con el?
Cómo agregar un registro a una base de datos de OpenOffice
Cómo ver los resultados de una consulta en Access
Cómo convertir a SSIS
¿Por qué cuando cambia el tamaño de tus fotos en Photoshop ¿Se convierte en borrosa
Cómo enviar correo electrónico desde MS Access 2007
Conocimiento de la computadora © http://www.ordenador.online