Beruflich Dokumente
Kultur Dokumente
AGENDA
VISTAS
PROCEDIMIENTOS
FUNCIONES DE USUARIO
TRIGGERS
CURSORES
¿Qué es una Vista?
Introducción a las vistas
Employees
EmployeeID LastName Firstname Title
1 Davolio Nancy ~~~
2 Fuller Andrew ~~~
3 Leverling Janet ~~~
USE Northwind
GO
CREATE VIEW dbo.EmployeeView
AS
SELECT LastName, Firstname
FROM Employees
EmployeeView
Lastname Firstname
Davolio Nancy Vista del usuario
Fuller Andrew
Leverling Janet
Ventajas de las vistas
• Centrar el interés en los datos de los usuarios
– Centrarse sólo en los datos importantes o adecuados
– Limitar el acceso a los datos confidenciales
• Enmascarar la complejidad de la base de datos
– Ocultar el diseño de la base de datos compleja
– Simplificar las consultas complejas.
• Simplificar la administración de los permisos de usuario
• Mejorar el rendimiento
• Organizar los datos para exportarse a otras aplicaciones
¿Qué es un procedimiento almacenado?
Definición de procedimientos almacenados
• Mejorar el rendimiento
USE Northwind
GO
CREATE PROC dbo.OverdueOrders
AS
SELECT *
FROM dbo.Orders
• WHERE
PuedeRequiredDate < GETDATE() AND ShippedDate IS Null
anidar hasta 32 niveles
GO • Use sp_help para mostrar información
Ejecución de procedimientos almacenados
• Ejecución de un procedimiento almacenado por
separado
EXEC OverdueOrders
• Funciones escalares
– Similar a una función integrada(Oper. matematica)
• Funciones con valores de tabla de varias instrucciones
– Contenido como un procedimiento almacenado
– Se hace referencia como una vista
• Funciones con valores de tabla en línea
– Similar a una vista con parámetros
– Devuelve una tabla como el resultado de una instrucción SELECT
única
Uso de una función escalar definida por el
usuario
Declare Table
Funciones Escalares
Práctica:
Creación de funciones definidas por el usuario
Ejercicios
Ver Solución
Ejercicios
Solución
¿Que es un TRIGGER?
(DESENCADENADORES, DISPARADORES)
¿Qué es un desencadenador?
• Un desencadenador es una clase especial de procedimiento
almacenado que se ejecuta siempre que se intenta modificar los datos
de una tabla que el desencadenador protege.
• Asociación a una tabla
• Invocación automática
• Imposibilidad de llamada directa
• Identificación con una transacción (Insert, Update, Delette)
Consideraciones acerca del uso de
desencadenadores
Sintaxis
Ejemplo
CLOSE nombre-cursor
Cursores
OPEN Employee_Cursor
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM Employee_Cursor
END
CLOSE Employee_Cursor
DEALLOCATE Employee_Cursor