Implementación de procedimientos almacenados. Introducción a los procedimientos almacenados Creación, ejecución, modificación y eliminación de procedimientos.

Slides:



Advertisements
Presentaciones similares
Rocío Contreras Aguila Primer Semestre 2010
Advertisements

Diseño de Bases de Datos
VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
Se necesita un PA que muestre la información de todos los clientes registrados de la siguiente forma: Nombre1 Nombre2, Apellido1 Apellido2 bajo el título.
Insercion de datos..
Rocío Contreras Águila Primer Semestre 2010
Implementación de procedimientos almacenados
Procedimientos de Almacenado
Unidad 2 - Vistas y Funciones
Implementación de funciones definidas por el usuario
Implementación de vistas
Optimización del rendimiento de las consultas
Administración de transacciones y bloqueos
Modificación de datos.
Introducción a Transact-SQL
Supervisión del rendimiento de SQL Server
Implementación de la integridad de datos
Realización de tareas administrativas. Introducción Tareas de configuración Tareas administrativas rutinarias de SQL Server Automatización de las tareas.
Administración de archivos de bases de datos
Copia de seguridad de bases de datos
Creación de tipos de datos y tablas
INTRODUCCION AL SQL PROCEDURAL
Especialista en Business Intelligence Integration Services SSIS (Sesión 5) Microsoft SQL Server 2008 R2 (Nov.2013) Suscribase a o.
Especialista en Business Intelligence Integration Services SSIS (Sesión 7) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
SQL Server Integration Services SSIS
SQL Server Integration Services SSIS
Subprogramas: Procedimientos
Características Objeto Relacionales en Oracle
• SQL Server Integration Services SSIS
UNITA - IBARRA BLOQUES PL-SQL SUBPROGRAMAS Paulina Guevara.
Diseño Físico Procedimientos Almacenados y Disparadores (Triggers)
Unidad 3 Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
PL/SQL Francisco Moreno Universidad Nacional.
SQL SERVER APLICADO (SSA010) Ariel Alexis Fierro Sáez DuocUC.
SESIÓN 2. Completados por el tipo de objeto sobre el que actúan y el objeto concreto: CREATE DATABASE mibase ; Permite crear una base de datos llamada.
MySQL M.C. Pedro Bello López.
Especialista en Business Intelligence Integration Services SSIS Transformaciones (Parte 2) Microsoft SQL Server 2008 R2 Suscribase a
Bases de Datos Relacionales
16/04/ Sesión 11 Funciones y procedimientos Ing. Ricardo Inquilla.
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
UNITA - IBARRA TRIGGERS
tipo de datos uniqueidentifier
 ANGULO MENDEZ, Angelo  LEVANO CASTILLA, Carlos  PARDO FIGUEROA HERENCIA, Jhonatan  QUISPE ARCOS, Hans  RAMIREZ GAMBOA, Marlon.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 11 Creando Vistas.
1 Microcomputación II Unidad II Administración de datos con MS-SQL Server y Visual Basic Introducción a Transact – SQL: Select, Delete, Update. Tema:
Especialista en Business Intelligence Integration Services SSIS Tareas de Flujo de Control (Parte I) Microsoft SQL Server 2008 R2 Suscribase a
Bases de Datos Relacionales
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
Bases de Datos 1 Prof. Daniel Obando Fuentes. USE USE {database}; Cambia el contexto de base de datos Es decir, dice cuál es la base de datos que se utilizará.
Structured Query Language (Lenguaje Estructurado de Consultas)
PROCEDIMIENTOS ALMACENADOS Es una consulta almacenada en la base de datos en un servidor. Los P.A. Mejoran el Rendimiento Disminuyen el tráfico. Los P.A.
Uso de las herramientas de consulta de Transact-SQL
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
MSSQL SERVER CURSO BÁSICO 1. CONCEPTOS BASICOS DE SQL. DESCRIPCIÓN DEL CURSO. Sesión 3: Índices Uso, Creación, Tipos, Eliminación LENGUAJE DE CONSULTAS.
Características Objeto Relacionales en Oracle Francisco Moreno Universidad Nacional.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
UNIVERSIDAD LATINA IV. CONSULTAS AVANZADAS CON BASES DE DATOS. E.I. L.E. Prof. Ramón Castro Liceaga.
AA Gerardo Morgade Donato AA Isnel Leyva Herbella.
3 Cursores ORACLE Bases de datos II I-2014 Universidad del Cauca In. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca In. Wilson Ortega.
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
DLM Transact SQL Sesión II Recuperación de información.
ALTER TABLE MODIFICAR LA ESTRUCTURA DE LOS OBJETOS DE UNA BASE DE DATOS.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
DML Transact SQL Sesión IX Introducción a los procedimientos almacenados.
Implementación de funciones definidas por el usuario.
Crear una tabla (create table - sp_tables - sp_columns - drop table) Para ver las tablas existentes creadas por los usuarios en una base de datos usamos.
Modificación de datos. Introducción Uso de transacciones Inserción de datos Eliminación de datos Actualización de datos Consideraciones acerca del rendimiento.
Transcripción de la presentación:

Implementación de procedimientos almacenados

Introducción a los procedimientos almacenados Creación, ejecución, modificación y eliminación de procedimientos almacenados Utilización de parámetros en los procedimientos almacenados Ejecución de procedimientos almacenados extendidos Control de mensajes de error Consideraciones acerca del rendimiento Introducción

Definición de procedimientos almacenados Procesamiento inicial de los procedimientos almacenados Procesamientos posteriores de los procedimientos almacenados Ventajas de los procedimientos almacenados Introducción a los procedimientos almacenados

Definición de procedimientos almacenados Colecciones con nombre de instrucciones Transact-SQL Encapsulado de tareas repetitivas Admiten cinco tipos (del sistema, locales, temporales, remotos y extendidos) Aceptar parámetros de entrada y devolver valores Devolver valores de estado para indicar que se ha ejecutado satisfactoriamente o se ha producido algún error

Procesamiento inicial de los procedimientos almacenados Se almacena en las tablas sysobjects y syscomments Se almacena en las tablas sysobjects y syscomments El plan compilado se coloca en la caché de procedimientos El plan compilado se coloca en la caché de procedimientos Compilación Optimización CreaciónCreación Ejecución (por primera vez o recompilación) Análisis

Procesamientos posteriores de los procedimientos almacenados Plan de ejecución recuperado Plan sin usar se retira Plan de consultaContexto de ejecución SELECT * FROM dbo.member WHERE member_no = ? Conexión Conexión 2 Conexión

Ventajas de los procedimientos almacenados Compartir la lógica de la aplicación Exposición de los detalles de las tablas de la base de datos Proporcionar mecanismos de seguridad Mejorar el rendimiento Reducir el tráfico de red

Creación, ejecución y modificación de procedimientos almacenados Creación de procedimientos almacenados Recomendaciones para la creación de procedimientos almacenados Ejecución de procedimientos almacenados Modificación y eliminación de procedimientos almacenados

Creación de procedimientos almacenados Utilice la instrucción CREATE PROCEDURE para crearlos en la base de datos activa Puede anidar hasta 32 niveles Use sp_help para mostrar información USE Northwind GO CREATE PROC dbo.OverdueOrders AS SELECT * FROM dbo.Orders WHERE RequiredDate < GETDATE() AND ShippedDate IS Null GO

Recomendaciones para la creación de procedimientos almacenados El usuario dbo debe ser el propietario de todos los procedimientos almacenados Un procedimiento almacenado por tarea Crear, probar y solucionar problemas Evite sp_Prefix en los nombres de procedimientos almacenados Utilice la misma configuración de conexión para todos los procedimientos almacenados Reduzca al mínimo la utilización de procedimientos almacenados temporales No elimine nunca directamente las entradas de Syscomments

Ejecución de procedimientos almacenados Ejecución de un procedimiento almacenado por separado Ejecución de un procedimiento almacenado en una instrucción INSERT EXEC OverdueOrders INSERT INTO Customers EXEC EmployeeCustomer

Alteración y eliminación de procedimientos almacenados Modificación de procedimientos almacenados Incluya cualquiera de las opciones en ALTER PROCEDURE No afecta a los procedimientos almacenados anidados Eliminación de procedimientos almacenados Ejecute el procedimiento almacenado sp_depends para determinar si los objetos dependen del procedimiento almacenado USE Northwind GO ALTER PROC dbo.OverdueOrders AS SELECT CONVERT(char(8), RequiredDate, 1) RequiredDate, CONVERT(char(8), OrderDate, 1) OrderDate, OrderID, CustomerID, EmployeeID FROM Orders WHERE RequiredDate < GETDATE() AND ShippedDate IS Null ORDER BY RequiredDate GO USE Northwind GO ALTER PROC dbo.OverdueOrders AS SELECT CONVERT(char(8), RequiredDate, 1) RequiredDate, CONVERT(char(8), OrderDate, 1) OrderDate, OrderID, CustomerID, EmployeeID FROM Orders WHERE RequiredDate < GETDATE() AND ShippedDate IS Null ORDER BY RequiredDate GO

Utilización de parámetros en los procedimientos almacenados Utilización de parámetros de entrada Ejecución de procedimientos almacenados con parámetros de entrada Devolución de valores mediante parámetros de salida Volver a compilar explícitamente procedimientos almacenados

Utilización de parámetros de entrada Valide primero todos los valores de los parámetros de entrada Proporcione los valores predeterminados apropiados e incluya las comprobaciones de Null CREATE PROCEDURE dbo.[Year to Year DateTime AS IS NULL IS NULL BEGIN RAISERROR('NULL values are not allowed', 14, 1) RETURN END SELECT O.ShippedDate, O.OrderID, OS.Subtotal, DATENAME(yy,ShippedDate) AS Year FROM ORDERS O INNER JOIN [Order Subtotals] OS ON O.OrderID = OS.OrderID WHERE O.ShippedDate GO CREATE PROCEDURE dbo.[Year to Year DateTime AS IS NULL IS NULL BEGIN RAISERROR('NULL values are not allowed', 14, 1) RETURN END SELECT O.ShippedDate, O.OrderID, OS.Subtotal, DATENAME(yy,ShippedDate) AS Year FROM ORDERS O INNER JOIN [Order Subtotals] OS ON O.OrderID = OS.OrderID WHERE O.ShippedDate GO

Ejecución de procedimientos almacenados con parámetros de entrada Paso de valores por el nombre del parámetro Paso de valores por posición EXEC AddCustomer 'ALFKI2', 'Alfreds Futterkiste', 'Maria Anders', 'Sales Representative', 'Obere Str. 57', 'Berlin', NULL, '12209', 'Germany', ' ' EXEC = = 'Maria = 'Alfreds = 'Sales = 'Obere Str. = = = = ' ' EXEC = = 'Maria = 'Alfreds = 'Sales = 'Obere Str. = = = = ' '

Devolución de valores mediante parámetros de salida CREATE PROCEDURE smallint OUTPUT AS = GO smallint EXECUTE mathtutor 5, OUTPUT SELECT 'The result is: The result is: 30 CREATE PROCEDURE smallint OUTPUT AS = GO smallint EXECUTE mathtutor 5, OUTPUT SELECT 'The result is: The result is: 30 Resultados del procedimiento almacenado Ejecución del procedimiento almacenado Creación del procedimiento almacenado

Volver a compilar explícitamente procedimientos almacenados Volver a compilar cuando El procedimiento almacenado devuelve conjuntos de resultados que varían considerablemente Se agrega un nuevo índice a una tabla subyacente El valor del parámetro es atípico Volver a compilar mediante CREATE PROCEDURE [WITH RECOMPILE] EXECUTE [WITH RECOMPILE] sp_recompile

Ejecución de procedimientos almacenados extendidos Se programan con la API Servicios abiertos de datos Pueden incluir características de C y C++ Pueden contener múltiples funciones Se pueden llamar desde un cliente o desde SQL Server Se pueden agregar sólo a la base de datos master EXEC master..xp_cmdshell 'dir c:\'

Control de mensajes de error La instrucción RETURN sale incondicionalmente de una consulta o procedimiento sp_addmessage crea mensajes de error personalizados contiene el número de error de la instrucción ejecutada más recientemente Instrucción RAISERROR Devuelve un mensaje de error del sistema definido por el usuario Establece un indicador del sistema para registrar un error

Demostración: Control de mensajes de error

Consideraciones acerca del rendimiento Monitor de sistema de Windows 2000 Objeto: SQL Server: Administrador de caché Objeto: Estadísticas de SQL Analizador de SQL Puede supervisar eventos Puede probar cada instrucción en un procedimiento almacenado