Este documento describe cursores y procedimientos almacenados en SQL Server. Explica que un cursor permite recorrer fila a fila un conjunto de datos determinado por una consulta T-SQL. Detalla las etapas de declaración, apertura, acceso a datos, cierre y desalojo de un cursor. También cubre la creación, modificación y eliminación de procedimientos almacenados a través de instrucciones CREATE PROCEDURE, ALTER PROCEDURE y DROP PROCEDURE.
1. UNIVERSIDAD POLITECNICA AMAZONICA
ESCUELA PROFESIONAL DE:
INGENIERIA DE SISTEMASY TELEMATICA.
TEMA: CURSORES.
AREA :
DOCENTES :
INTEGRANTES :
CICLO :
Base de Datos II.
Marco Aurelio Porro Chulli.
Carhuatanta Paredes, Pierina.
Diaz Quintana, Duyen Yudith.
VII GRUPO: “A”
2. CURSORES
En SQL Server un cursor puede definirse como un elemento que
representará a un conjunto de datos determinado por una consulta
T-SQL, el cursor permitirá recorrer fila a fila
La creación y utilización de un cursor estará compuesta, como es de
esperarse, por una serie de instrucciones T-SQL, las cuales podrán
separarse en grupos bien diferenciados, los cuales son: Declaración,
Apertura, Acceso a datos, Cierre y Desalojo, a continuación
detallaremos cada grupo de instrucciones.
3. Sintaxis
ISO Syntax
DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR
FOR select_statement
[ FOR { READ ONLY | UPDATE [ OF column_name [ ,...n ] ] } ]
[;]
Transact-SQL Extended Syntax
DECLARE cursor_name CURSOR [ LOCAL | GLOBAL ]
[ FORWARD_ONLY | SCROLL ]
[ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ]
[ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ]
[ TYPE_WARNING ]
FOR select_statement
[ FOR UPDATE [ OF column_name [ ,...n ] ] ]
[;]
4. ADMINISTRACIÓN DE PROCEDIMIENTOS ALMACENADOS
(CREACIÓN, MODIFICACIÓN Y ELIMINACIÓN)
Creacion:
CREATE PROCEDURE total_factura (@id_factura INT)
AS
BEGIN
SELECT SUM(UNIDADES*PRECIO) FROM RENGLON
WHERE RENGLON.IDFACTURA = @id_factura;
END;
5. Modificacion:
ALTER PROCEDURE modificar_cliente
(@id_cliente INT, @nombre_cliente
VARCHAR (20), @apellido_cliente VARCHAR (20))
WITH ENCRYPTION
AS
UPDATE CLIENTE
SET NOMBRE=@nombre_cliente,APELLIDO=@apellido_cliente
WHERE IDCLIENTE=@id_cliente;
6. Eliminación:
DROP { PROC | PROCEDURE } { [ schema_name. ] procedure } [
,...n ]
DROP PROCEDURE nombre_procedimiento
Ejemplo.
drop procedure pa_libros_autor;