SlideShare a Scribd company logo
1 of 31
Ingeniería en Sistemas Computacionales
Taller de Base de Datos
Unidad VI: TSQL Procedural
Este material está desarrollado para la asignatura Taller de Base de Datos, de la carrera de Ingeniería en Sistemas
Computacionales, plan de estudios ISIC-2010-224
TALLER DE BASE DE DATOS
Competencia: Aplicar mecanismos de SQL procedural como mecanismo
de actualización y auditoria de una base de datos.
TALLER DE BASE DE DATOS
SQL Procedural
¿Qué es SQL Procedural? Son un conjunto de sentencias de T-SQL los cuales
son guardados en un archivo fuente y almacenados en el SQL Server, para ser
convocados posteriormente por medio de Queries o desde una aplicación que
se conecta al SQL Server.
Existen dos tipos básicos:
• Procedimientos Almacenados (Stored Procedures)
• Disparadores (Triggers)
TALLER DE BASE DE DATOS
• Procedimientos Almacenados (SP): Los SP por sus siglas en inglés son un
conjunto de procedimientos almacenados físicamente en una base de datos
(de ahí su nombre). Estos pueden ser llamados por una aplicación externa, un
trigger, e incluso desde otro SP.
• La implementación de un SP varía de un SGBD a otro. La mayoría lo soportan
de alguna forma. Dependiendo del SGBD, los SP pueden ser implementados
por varios lenguajes de programación, tales como SQL, Java, C y C++.
TALLER DE BASE DE DATOS
• La creciente adopción de los SP llevó a la introducción de elementos
procedurales en el propio estándar SQL. La mayoría de los sistemas de bases
de datos ofrecen extensiones propietarias, extendiendo así las
funcionalidades de SQL.
TALLER DE BASE DE DATOS
Usos
• En algunos sistemas se usan para controlar el manejo de las transacciones.
• También pueden ser usados para el control de gestión de operaciones, y
ejecutar procedimientos almacenados dentro de una transacción de tal
manera que las transacciones sean efectivamente transparentes para ellos.
TALLER DE BASE DE DATOS
Ventajas
• El servidor de la base de datos tiene acceso directo a los datos necesarios
para manipular y sólo necesita enviar el resultado final al usuario.
• Los procedimientos almacenados pueden permitir que la lógica del negocio se
encuentre como un API en la base de datos.
• Reducen la probabilidad de que los datos sean corrompidos por el uso de
programas clientes defectuosos o erróneos.
• Aumentan el rendimiento: Una vez creados, son compilados y almacenados
en el catálogo de la base de datos. Corren más rápido que comandos SQL
enviados desde aplicaciones externas, ya que estos no están compilados.
TALLER DE BASE DE DATOS
• Reducen el tráfico entre las aplicaciones y el servidor de bases de datos.
• Son reusables y transparentes a cualquier aplicación que lo quiera usar.
• Son seguros: Los DBA pueden dar permiso a cierta aplicación para que pueda
acceder a y SP en el catálogo de la base de datos,
TALLER DE BASE DE DATOS
Desventajas
• No son modificables: Los Stored procedures son “definidos una vez, usados
muchas”. Si se necesita modificarlo, su definición tiene que ser reemplazada
totalmente.
• Cualquier cambio instantáneamente afecta todas las otras piezas de software,
reportes, etc. (dentro o fuera del DBMS) que directa o indirectamente se
refieran a este.
• Por varias razones, muchas organizaciones limitan estrictamente quiénes
pueden hacer consultas a la base de datos.
• Sólo contienen SQL declarativo, así que es muy dificultoso escribir
procedimientos complejos para negocios como en otros lenguajes
TALLER DE BASE DE DATOS
Tipos de SP
• SP definidos por el usuario: son procedimientos definidos por el
usuario que se deben llamar explícitamente
• Triggers: son procedimientos definidos por el usuario que se
ejecutan automáticamente cuando se modifica un dato en una tabla
• SP del sistema: procedimientos suministrados por el sistema (SQL
Server)
• SP extendidos: procedimientos que hacen llamadas al sistema
operativo y ejecutan tareas a ese nivel
TALLER DE BASE DE DATOS
Un procedimiento almacenado puede:
• Seleccionar y modificar datos
• Crear tablas temporales y permanentes
• Llamar otros procedimientos almacenados
• Referenciar objetos de bases de datos
Un procedimiento almacenado no puede ejecutar:
• use database
• create view
• create default
• create rule
• create procedure
• create trigger
TALLER DE BASE DE DATOS
Sintaxis
CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ]
[ { @parameter [ type_schema_name. ] data_type }
[ VARYING ] [ = default ] [ OUT | OUTPUT ] [READONLY] ] [ ,...n ]
[ WITH <procedure_option> [ ,...n ] ]
[ FOR REPLICATION ]
AS { [ BEGIN ] sql_statement [;] [ ...n ] [ END ] } [;]
<procedure_option> ::= [ ENCRYPTION ] [ RECOMPILE ]
[ EXECUTE AS Clause ]
TALLER DE BASE DE DATOS
• La forma de crear un procedimiento
en SQL Server, es por medio de la
pantalla correspondiente en la base
de datos deseada.
TALLER DE BASE DE DATOS
Al oprimir la opción New Procedure se abre el una nueva ventana de Query
Analyzer en donde ya por default tenemos un templete de procedimiento el
cual podemos modificar según la necesidad que tengamos de desarrollo.
TALLER DE BASE DE DATOS
Ejemplo:
• Expandir la base de datos AdventureWorks2012
• Expandir la opcion Programability
• Con el click derecho seleccionar Procedures y la opción New
Procedure
Aparecerá la pantalla del Query Analyzer
• Copiar el siguiente código:
TALLER DE BASE DE DATOS
CREATE PROCEDURE dbo.PurchaseOrderInformation
AS BEGIN
SELECT poh.PurchaseOrderID, pod.PurchaseOrderDetailID,
poh.OrderDate, poh.TotalDue, pod.ReceivedQty, p.Name ProductName
FROM Purchasing.PurchaseOrderHeader poh
INNER JOIN Purchasing.PurchaseOrderDetail pod ON
poh.PurchaseOrderID = pod.PurchaseOrderID
INNER JOIN Production.Product p ON pod.ProductID = p.ProductID
END GO
TALLER DE BASE DE DATOS
• Al ejecutar el query se creará el procedimiento en la base de datos seleccionada
y las demás DB no podrán verlo
• La instrucción para ejecutar posteriormente el procedimiento es excec:
Sintaxis
EXECUTE | EXEC procedure_name [parameter1, parameter2, n…]
WITH RESULT SETS (
( [column_definition1, column_definition2, n…])
)
Ejemplo
USE AdventureWorks2012
EXEC dbo.PurchaseOrderInformation
TALLER DE BASE DE DATOS
Ejemplo: en este caso ejecutaremos de nuevo el procedimiento ya creado pero
usando la instrucción With Result Sets, la cual debe tener el mismo orden que
las variables que toma el Select del procedimiento o de lo contrario SQL Server
enviará un error de ejecución:
USE AdventureWorks2012;
EXEC dbo.PurchaseOrderInformation
WITH RESULT SETS (
( [Purchase Order ID] int,
[Purchase Order Detail ID] int,
[Order Date] datetime,
[Total Due] Money,
[Received Quantity] float,
[Product Name] varchar(50) )
)
TALLER DE BASE DE DATOS
Uso de parámetros en los procedimientos
• AL ser los procedimientos subrutinas de código programadas, es posible
pasarles parámetros en la misma forma que lo hacemos en un lenguaje de
programación de alto nivel. Para esto debemos especificarlos en la cláusula
Create Proc al final de la misma, como lo muestra el siguiente ejemplo:
USE AdventureWorks2012;
GO
CREATE PROC dbo.SampleOutput @Parameter2 int OUTPUT
As SELECT @Parameter2 = 10
DECLARE @HoldParameter2 INT
EXEC dbo.SampleOutput @HoldParameter2 OUTPUT
SELECT @HoldParameter2
TALLER DE BASE DE DATOS
Ejemplo:
USE AdventureWorks2012;
GO
ALTER PROCEDURE [dbo].[PurchaseOrderInformation]
@EmployeeID int, @OrderYear int = 2005
AS BEGIN
SELECT poh.PurchaseOrderID, pod.PurchaseOrderDetailID, poh.OrderDate,
poh.TotalDue, pod.ReceivedQty, p.Name ProductName
FROM Purchasing.PurchaseOrderHeader poh
INNER JOIN Purchasing.PurchaseOrderDetail pod ON
poh.PurchaseOrderID = pod.PurchaseOrderID
INNER JOIN Production.Product p ON pod.ProductID = p.ProductID
WHERE poh.EmployeeID = @EmployeeID AND
YEAR(poh.OrderDate) = @OrderYear
END
TALLER DE BASE DE DATOS
• Ejecución:
Con un solo parámetro:
USE AdventureWorks2012;
EXEC [dbo].[PurchaseOrderInformation] @EmployeeID = 258;
Con los dos parámetros
USE AdventureWorks2012;
EXEC [dbo].[PurchaseOrderInformation] @EmployeeID = 258, @OrderYear = 2006;
TALLER DE BASE DE DATOS
Triggers (Disparadores)
• Un trigger es un conjunto de instrucciones de T-SQL los cuales realizan tareas
específicas, las cuales se ejecutan únicamente cuando un evento de
manipulación de datos ocurre (por medio de DML), estos eventos son Delete,
Insert, y Update, los cuales pueden ser sobre tablas o sobre vistas.
Tipos de triggers:
• Existen varios tipos de triggers en SQL Server, en esta unidad nos enfocaremos
en dos de ellos, que son:
After
Instead Of
TALLER DE BASE DE DATOS
• After: este tipo de trigger es ejecutado después que una instrucción de DML
fue llamada. Es muy importante tener en cuenta que el trigger formará parte
de la misma transacción en la que fue disparado, por lo que dicha transacción
no se considera completa hasta que el trigger completa toda su ejecución.
• Instead Of: un trigger que es marcado como Instead Of es ejecutado en el
momento que el evento que lo dispara ocurre, sin embargo el evento en si no
será ejecutado, es decir, si lo llama un Insert, el trigger será ejecutado en su
lugar, y el insert en realidad no ocurrirá.
TALLER DE BASE DE DATOS
Sintaxis
CREATE TRIGGER [ schema_name . ]trigger_name
ON { table | view }
[ WITH <dml_trigger_option> [ ,...n ] ]
{ FOR | AFTER | INSTEAD OF }
{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }
[ NOT FOR REPLICATION ]
AS { sql_statement [ ; ] [ ,...n ] | EXTERNAL NAME <method specifier [ ; ] > }
<dml_trigger_option> ::= [ ENCRYPTION ] [ EXECUTE AS Clause ]
<method_specifier> ::= assembly_name.class_name.method_name
TALLER DE BASE DE DATOS
Procedimiento para crear un trigger
• Abrir
• SQL Server Management Studio (SSMS)
• Expandir la base de datos
• Expandir la carpeta Tables
• Seleccionar y expandir la tabla
correspondiente
• Expandir la carpeta Triggers
• Click con el derecho sobre Triggers
• Seleccionar New Trigger
TALLER DE BASE DE DATOS
Creación de el trigger:
USE AdventureWorks2012;
GO
CREATE TRIGGER HumanResources.iCheckModifedDate
ON HumanResources.Department FOR INSERT
AS BEGIN
DECLARE @modifieddate datetime, @DepartmentID int
SELECT @modifieddate = modifieddate, @DepartmentID = departmentid
FROM inserted;
IF (DATEDIFF(Day, @modifiedDate, getdate()) > 0)
BEGIN
UPDATE HumanResources.Department
SET ModifiedDate = GETDATE() WHERE DepartmentID = @DepartmentID
END
END
TALLER DE BASE DE DATOS
Disparar su ejecución:
USE AdventureWorks2012;
INSERT INTO HumanResources.Department
VALUES (
'Executive Marketing',
'Executive General and Administration',
'2/12/2011');
SELECT * FROM HumanResources.Department
TALLER DE BASE DE DATOS
Modificación de un trigger
• Expandir la base de datos
• Expandir la tabla correspondiente
• Expandir la carpeta triggers
• Seleccionar el trigger con click derecho y
luego la opción Modify
• Aparecerá el trigger en una ventana pero
con la sentencia Alter en lugar de Create
• Realizar los cambios necesarios y ejecutar
TALLER DE BASE DE DATOS
• Basándonos en la lámina anterior en el trigger buscar el código:
SET ModifiedDate = GETDATE()
• Y sustituirlo por:
SET ModifiedDate = DATEADD(day, -1, GETDATE() )
• Ejecutamos el query para completar la modificación del trigger
• En una nueva ventana de query analycer ejecutar el siguiente código:
USE AdventureWorks2012;
INSERT INTO HumanResources.Department
VALUES ('Executive Purchasing', 'Executive General and Administration',
'2/12/2011')
SELECT *FROM HumanResources.Department
TALLER DE BASE DE DATOS
• Desactivar y reactivar triggers: en algunos casos es necesario que un trigger deje de
ser disparado pero no deseamos eliminarlo por lo que SQL Server proporciona el
medio para desactivar un trigger en particular y luego reactivarlo cuando sea
necesario:
• Desactivar:
USE AdventureWorks2012;
DISABLE TRIGGER HumanResources.iCheckModifedDate
ON HumanResources.Department;
• Reactivar:
USE AdventureWorks2012;
ENABLE TRIGGER HumanResources.iCheckModifedDate
ON HumanResources.Department;
TALLER DE BASE DE DATOS
Bibliografía Consultada
Adam Jorgersen, Microsoft SQL Server 2012 Bible. John Wiley & Sons,
Inc. Indianapolis, Indiana. 2012.
https://msdn.microsoft.com. Página en Español, Sección de Ayuda de
SQL Server 2012. Consultado en Junio de 2015.
TALLER DE BASE DE DATOS

More Related Content

What's hot

Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de SoftwareRene Guaman-Quinche
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosJosé Antonio Sandoval Acosta
 
Paradigmas de ingenieria del software
Paradigmas de ingenieria del softwareParadigmas de ingenieria del software
Paradigmas de ingenieria del softwareTensor
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasJosé Antonio Sandoval Acosta
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.nayis2010
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfijaOmarzingm
 
Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Anel Sosa
 

What's hot (20)

Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de Software
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Paradigmas de ingenieria del software
Paradigmas de ingenieria del softwareParadigmas de ingenieria del software
Paradigmas de ingenieria del software
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Sql presentacion
Sql presentacionSql presentacion
Sql presentacion
 
Vistas
VistasVistas
Vistas
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Fundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacionalFundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacional
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Transacciones en SQL SERVER
Transacciones en SQL SERVERTransacciones en SQL SERVER
Transacciones en SQL SERVER
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 

Viewers also liked

Topicos Avanzados de Programacion - Unidad 5 programacion movil
Topicos Avanzados de Programacion -  Unidad 5 programacion movilTopicos Avanzados de Programacion -  Unidad 5 programacion movil
Topicos Avanzados de Programacion - Unidad 5 programacion movilJosé Antonio Sandoval Acosta
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosJosé Antonio Sandoval Acosta
 
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BDFundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BDJosé Antonio Sandoval Acosta
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalJosé Antonio Sandoval Acosta
 
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012José Antonio Sandoval Acosta
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteJosé Antonio Sandoval Acosta
 
Simulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatoriasSimulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatoriasJosé Antonio Sandoval Acosta
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de ComunicaciónJosé Antonio Sandoval Acosta
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasJosé Antonio Sandoval Acosta
 
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionJosé Antonio Sandoval Acosta
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionJosé Antonio Sandoval Acosta
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooJosé Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilJosé Antonio Sandoval Acosta
 
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de UsuarioTopicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de UsuarioJosé Antonio Sandoval Acosta
 

Viewers also liked (20)

Taller de Base de Datos - Unidad 5 transacciones
Taller de Base de Datos - Unidad 5  transaccionesTaller de Base de Datos - Unidad 5  transacciones
Taller de Base de Datos - Unidad 5 transacciones
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Topicos Avanzados de Programacion -  Unidad 5 programacion movilTopicos Avanzados de Programacion -  Unidad 5 programacion movil
Topicos Avanzados de Programacion - Unidad 5 programacion movil
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicos
 
Estructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II RecursividadEstructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II Recursividad
 
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BDFundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacional
 
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
 
Simulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatoriasSimulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatorias
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
 
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Conexiones inalámbricas punto a punto usando wds
Conexiones inalámbricas punto a punto usando wds Conexiones inalámbricas punto a punto usando wds
Conexiones inalámbricas punto a punto usando wds
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de UsuarioTopicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
 

Similar to SQL Procedural y Triggers

Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenadoshirmaroxana13
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosJosé Antonio Sandoval Acosta
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenadosiluijo
 
12 Guía_Fundamentos de Base de Datos.docx
12 Guía_Fundamentos de Base de Datos.docx12 Guía_Fundamentos de Base de Datos.docx
12 Guía_Fundamentos de Base de Datos.docxLeydyVeronicaDelgado
 
Procedimientos almacenados..mañana
Procedimientos almacenados..mañanaProcedimientos almacenados..mañana
Procedimientos almacenados..mañanaANilez Solrak
 
Afinamientodebasesdedatosyservidoreswebs
AfinamientodebasesdedatosyservidoreswebsAfinamientodebasesdedatosyservidoreswebs
Afinamientodebasesdedatosyservidoreswebsricardosusa5
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenadosDeisyVilchez
 
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...José Antonio Sandoval Acosta
 
Procedimiento de almacenados
Procedimiento de almacenadosProcedimiento de almacenados
Procedimiento de almacenadosLuisaM17
 
Procedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptxProcedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptxCESARHERNANPATRICIOP1
 

Similar to SQL Procedural y Triggers (20)

Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenados
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 
Pa
PaPa
Pa
 
Procedimientos almacenadoss
Procedimientos almacenadossProcedimientos almacenadoss
Procedimientos almacenadoss
 
procedimientos almacenados
procedimientos almacenadosprocedimientos almacenados
procedimientos almacenados
 
. procedimientos almacenados
.  procedimientos almacenados.  procedimientos almacenados
. procedimientos almacenados
 
12 Guía_Fundamentos de Base de Datos.docx
12 Guía_Fundamentos de Base de Datos.docx12 Guía_Fundamentos de Base de Datos.docx
12 Guía_Fundamentos de Base de Datos.docx
 
Procedimientos almacenados..mañana
Procedimientos almacenados..mañanaProcedimientos almacenados..mañana
Procedimientos almacenados..mañana
 
Pres17BDII.ppt
Pres17BDII.pptPres17BDII.ppt
Pres17BDII.ppt
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Afinamientodebasesdedatosyservidoreswebs
AfinamientodebasesdedatosyservidoreswebsAfinamientodebasesdedatosyservidoreswebs
Afinamientodebasesdedatosyservidoreswebs
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
PROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOSPROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOS
 
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
 
Procedimiento de almacenados
Procedimiento de almacenadosProcedimiento de almacenados
Procedimiento de almacenados
 
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
 
Procedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptxProcedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptx
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
sesion 01_sql basico.pdf
sesion 01_sql basico.pdfsesion 01_sql basico.pdf
sesion 01_sql basico.pdf
 

More from José Antonio Sandoval Acosta

Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosJosé Antonio Sandoval Acosta
 

More from José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Recently uploaded

Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaSebastianQP1
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialyajhairatapia
 
lean manufacturing and its definition for industries
lean manufacturing and its definition for industrieslean manufacturing and its definition for industries
lean manufacturing and its definition for industriesbarom
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
Libro teoria de los vehiculos Aparicio.pdf
Libro teoria de los vehiculos Aparicio.pdfLibro teoria de los vehiculos Aparicio.pdf
Libro teoria de los vehiculos Aparicio.pdferick82709
 
La mineralogia y minerales, clasificacion
La mineralogia y minerales, clasificacionLa mineralogia y minerales, clasificacion
La mineralogia y minerales, clasificacionnewspotify528
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfErikNivor
 
1. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf2373743353471. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf237374335347vd110501
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidasNelsonQuispeQuispitu
 
Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesjohannyrmnatejeda
 
MAPA CONCEPTUAL: MANIFESTACIONES CULTURALES
MAPA CONCEPTUAL: MANIFESTACIONES CULTURALESMAPA CONCEPTUAL: MANIFESTACIONES CULTURALES
MAPA CONCEPTUAL: MANIFESTACIONES CULTURALESjhosselinvargas
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOCamiloSaavedra30
 
4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptxEfrain Yungan
 
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptxluiscisnerosayala23
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdffredyflores58
 
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdfLIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdfManuelVillarreal44
 
MUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptx
MUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptxMUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptx
MUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptxIcelaMartnezVictorin
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 

Recently uploaded (20)

Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieria
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundial
 
lean manufacturing and its definition for industries
lean manufacturing and its definition for industrieslean manufacturing and its definition for industries
lean manufacturing and its definition for industries
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
Libro teoria de los vehiculos Aparicio.pdf
Libro teoria de los vehiculos Aparicio.pdfLibro teoria de los vehiculos Aparicio.pdf
Libro teoria de los vehiculos Aparicio.pdf
 
La mineralogia y minerales, clasificacion
La mineralogia y minerales, clasificacionLa mineralogia y minerales, clasificacion
La mineralogia y minerales, clasificacion
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
 
1. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf2373743353471. Cap. 4 Carga Axial (1).pdf237374335347
1. Cap. 4 Carga Axial (1).pdf237374335347
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidas
 
Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajes
 
MAPA CONCEPTUAL: MANIFESTACIONES CULTURALES
MAPA CONCEPTUAL: MANIFESTACIONES CULTURALESMAPA CONCEPTUAL: MANIFESTACIONES CULTURALES
MAPA CONCEPTUAL: MANIFESTACIONES CULTURALES
 
presentación manipulación manual de cargas sunafil
presentación manipulación manual de cargas sunafilpresentación manipulación manual de cargas sunafil
presentación manipulación manual de cargas sunafil
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
 
4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx
 
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
 
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdfLIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdf
 
MUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptx
MUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptxMUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptx
MUROS Y CONEXIONES NTC 2017 CONCRETO REFORZADO.pptx
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 

SQL Procedural y Triggers

  • 1. Ingeniería en Sistemas Computacionales Taller de Base de Datos Unidad VI: TSQL Procedural Este material está desarrollado para la asignatura Taller de Base de Datos, de la carrera de Ingeniería en Sistemas Computacionales, plan de estudios ISIC-2010-224 TALLER DE BASE DE DATOS
  • 2. Competencia: Aplicar mecanismos de SQL procedural como mecanismo de actualización y auditoria de una base de datos. TALLER DE BASE DE DATOS
  • 3. SQL Procedural ¿Qué es SQL Procedural? Son un conjunto de sentencias de T-SQL los cuales son guardados en un archivo fuente y almacenados en el SQL Server, para ser convocados posteriormente por medio de Queries o desde una aplicación que se conecta al SQL Server. Existen dos tipos básicos: • Procedimientos Almacenados (Stored Procedures) • Disparadores (Triggers) TALLER DE BASE DE DATOS
  • 4. • Procedimientos Almacenados (SP): Los SP por sus siglas en inglés son un conjunto de procedimientos almacenados físicamente en una base de datos (de ahí su nombre). Estos pueden ser llamados por una aplicación externa, un trigger, e incluso desde otro SP. • La implementación de un SP varía de un SGBD a otro. La mayoría lo soportan de alguna forma. Dependiendo del SGBD, los SP pueden ser implementados por varios lenguajes de programación, tales como SQL, Java, C y C++. TALLER DE BASE DE DATOS
  • 5. • La creciente adopción de los SP llevó a la introducción de elementos procedurales en el propio estándar SQL. La mayoría de los sistemas de bases de datos ofrecen extensiones propietarias, extendiendo así las funcionalidades de SQL. TALLER DE BASE DE DATOS
  • 6. Usos • En algunos sistemas se usan para controlar el manejo de las transacciones. • También pueden ser usados para el control de gestión de operaciones, y ejecutar procedimientos almacenados dentro de una transacción de tal manera que las transacciones sean efectivamente transparentes para ellos. TALLER DE BASE DE DATOS
  • 7. Ventajas • El servidor de la base de datos tiene acceso directo a los datos necesarios para manipular y sólo necesita enviar el resultado final al usuario. • Los procedimientos almacenados pueden permitir que la lógica del negocio se encuentre como un API en la base de datos. • Reducen la probabilidad de que los datos sean corrompidos por el uso de programas clientes defectuosos o erróneos. • Aumentan el rendimiento: Una vez creados, son compilados y almacenados en el catálogo de la base de datos. Corren más rápido que comandos SQL enviados desde aplicaciones externas, ya que estos no están compilados. TALLER DE BASE DE DATOS
  • 8. • Reducen el tráfico entre las aplicaciones y el servidor de bases de datos. • Son reusables y transparentes a cualquier aplicación que lo quiera usar. • Son seguros: Los DBA pueden dar permiso a cierta aplicación para que pueda acceder a y SP en el catálogo de la base de datos, TALLER DE BASE DE DATOS
  • 9. Desventajas • No son modificables: Los Stored procedures son “definidos una vez, usados muchas”. Si se necesita modificarlo, su definición tiene que ser reemplazada totalmente. • Cualquier cambio instantáneamente afecta todas las otras piezas de software, reportes, etc. (dentro o fuera del DBMS) que directa o indirectamente se refieran a este. • Por varias razones, muchas organizaciones limitan estrictamente quiénes pueden hacer consultas a la base de datos. • Sólo contienen SQL declarativo, así que es muy dificultoso escribir procedimientos complejos para negocios como en otros lenguajes TALLER DE BASE DE DATOS
  • 10. Tipos de SP • SP definidos por el usuario: son procedimientos definidos por el usuario que se deben llamar explícitamente • Triggers: son procedimientos definidos por el usuario que se ejecutan automáticamente cuando se modifica un dato en una tabla • SP del sistema: procedimientos suministrados por el sistema (SQL Server) • SP extendidos: procedimientos que hacen llamadas al sistema operativo y ejecutan tareas a ese nivel TALLER DE BASE DE DATOS
  • 11. Un procedimiento almacenado puede: • Seleccionar y modificar datos • Crear tablas temporales y permanentes • Llamar otros procedimientos almacenados • Referenciar objetos de bases de datos Un procedimiento almacenado no puede ejecutar: • use database • create view • create default • create rule • create procedure • create trigger TALLER DE BASE DE DATOS
  • 12. Sintaxis CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ] [ { @parameter [ type_schema_name. ] data_type } [ VARYING ] [ = default ] [ OUT | OUTPUT ] [READONLY] ] [ ,...n ] [ WITH <procedure_option> [ ,...n ] ] [ FOR REPLICATION ] AS { [ BEGIN ] sql_statement [;] [ ...n ] [ END ] } [;] <procedure_option> ::= [ ENCRYPTION ] [ RECOMPILE ] [ EXECUTE AS Clause ] TALLER DE BASE DE DATOS
  • 13. • La forma de crear un procedimiento en SQL Server, es por medio de la pantalla correspondiente en la base de datos deseada. TALLER DE BASE DE DATOS
  • 14. Al oprimir la opción New Procedure se abre el una nueva ventana de Query Analyzer en donde ya por default tenemos un templete de procedimiento el cual podemos modificar según la necesidad que tengamos de desarrollo. TALLER DE BASE DE DATOS
  • 15. Ejemplo: • Expandir la base de datos AdventureWorks2012 • Expandir la opcion Programability • Con el click derecho seleccionar Procedures y la opción New Procedure Aparecerá la pantalla del Query Analyzer • Copiar el siguiente código: TALLER DE BASE DE DATOS
  • 16. CREATE PROCEDURE dbo.PurchaseOrderInformation AS BEGIN SELECT poh.PurchaseOrderID, pod.PurchaseOrderDetailID, poh.OrderDate, poh.TotalDue, pod.ReceivedQty, p.Name ProductName FROM Purchasing.PurchaseOrderHeader poh INNER JOIN Purchasing.PurchaseOrderDetail pod ON poh.PurchaseOrderID = pod.PurchaseOrderID INNER JOIN Production.Product p ON pod.ProductID = p.ProductID END GO TALLER DE BASE DE DATOS
  • 17. • Al ejecutar el query se creará el procedimiento en la base de datos seleccionada y las demás DB no podrán verlo • La instrucción para ejecutar posteriormente el procedimiento es excec: Sintaxis EXECUTE | EXEC procedure_name [parameter1, parameter2, n…] WITH RESULT SETS ( ( [column_definition1, column_definition2, n…]) ) Ejemplo USE AdventureWorks2012 EXEC dbo.PurchaseOrderInformation TALLER DE BASE DE DATOS
  • 18. Ejemplo: en este caso ejecutaremos de nuevo el procedimiento ya creado pero usando la instrucción With Result Sets, la cual debe tener el mismo orden que las variables que toma el Select del procedimiento o de lo contrario SQL Server enviará un error de ejecución: USE AdventureWorks2012; EXEC dbo.PurchaseOrderInformation WITH RESULT SETS ( ( [Purchase Order ID] int, [Purchase Order Detail ID] int, [Order Date] datetime, [Total Due] Money, [Received Quantity] float, [Product Name] varchar(50) ) ) TALLER DE BASE DE DATOS
  • 19. Uso de parámetros en los procedimientos • AL ser los procedimientos subrutinas de código programadas, es posible pasarles parámetros en la misma forma que lo hacemos en un lenguaje de programación de alto nivel. Para esto debemos especificarlos en la cláusula Create Proc al final de la misma, como lo muestra el siguiente ejemplo: USE AdventureWorks2012; GO CREATE PROC dbo.SampleOutput @Parameter2 int OUTPUT As SELECT @Parameter2 = 10 DECLARE @HoldParameter2 INT EXEC dbo.SampleOutput @HoldParameter2 OUTPUT SELECT @HoldParameter2 TALLER DE BASE DE DATOS
  • 20. Ejemplo: USE AdventureWorks2012; GO ALTER PROCEDURE [dbo].[PurchaseOrderInformation] @EmployeeID int, @OrderYear int = 2005 AS BEGIN SELECT poh.PurchaseOrderID, pod.PurchaseOrderDetailID, poh.OrderDate, poh.TotalDue, pod.ReceivedQty, p.Name ProductName FROM Purchasing.PurchaseOrderHeader poh INNER JOIN Purchasing.PurchaseOrderDetail pod ON poh.PurchaseOrderID = pod.PurchaseOrderID INNER JOIN Production.Product p ON pod.ProductID = p.ProductID WHERE poh.EmployeeID = @EmployeeID AND YEAR(poh.OrderDate) = @OrderYear END TALLER DE BASE DE DATOS
  • 21. • Ejecución: Con un solo parámetro: USE AdventureWorks2012; EXEC [dbo].[PurchaseOrderInformation] @EmployeeID = 258; Con los dos parámetros USE AdventureWorks2012; EXEC [dbo].[PurchaseOrderInformation] @EmployeeID = 258, @OrderYear = 2006; TALLER DE BASE DE DATOS
  • 22. Triggers (Disparadores) • Un trigger es un conjunto de instrucciones de T-SQL los cuales realizan tareas específicas, las cuales se ejecutan únicamente cuando un evento de manipulación de datos ocurre (por medio de DML), estos eventos son Delete, Insert, y Update, los cuales pueden ser sobre tablas o sobre vistas. Tipos de triggers: • Existen varios tipos de triggers en SQL Server, en esta unidad nos enfocaremos en dos de ellos, que son: After Instead Of TALLER DE BASE DE DATOS
  • 23. • After: este tipo de trigger es ejecutado después que una instrucción de DML fue llamada. Es muy importante tener en cuenta que el trigger formará parte de la misma transacción en la que fue disparado, por lo que dicha transacción no se considera completa hasta que el trigger completa toda su ejecución. • Instead Of: un trigger que es marcado como Instead Of es ejecutado en el momento que el evento que lo dispara ocurre, sin embargo el evento en si no será ejecutado, es decir, si lo llama un Insert, el trigger será ejecutado en su lugar, y el insert en realidad no ocurrirá. TALLER DE BASE DE DATOS
  • 24. Sintaxis CREATE TRIGGER [ schema_name . ]trigger_name ON { table | view } [ WITH <dml_trigger_option> [ ,...n ] ] { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } [ NOT FOR REPLICATION ] AS { sql_statement [ ; ] [ ,...n ] | EXTERNAL NAME <method specifier [ ; ] > } <dml_trigger_option> ::= [ ENCRYPTION ] [ EXECUTE AS Clause ] <method_specifier> ::= assembly_name.class_name.method_name TALLER DE BASE DE DATOS
  • 25. Procedimiento para crear un trigger • Abrir • SQL Server Management Studio (SSMS) • Expandir la base de datos • Expandir la carpeta Tables • Seleccionar y expandir la tabla correspondiente • Expandir la carpeta Triggers • Click con el derecho sobre Triggers • Seleccionar New Trigger TALLER DE BASE DE DATOS
  • 26. Creación de el trigger: USE AdventureWorks2012; GO CREATE TRIGGER HumanResources.iCheckModifedDate ON HumanResources.Department FOR INSERT AS BEGIN DECLARE @modifieddate datetime, @DepartmentID int SELECT @modifieddate = modifieddate, @DepartmentID = departmentid FROM inserted; IF (DATEDIFF(Day, @modifiedDate, getdate()) > 0) BEGIN UPDATE HumanResources.Department SET ModifiedDate = GETDATE() WHERE DepartmentID = @DepartmentID END END TALLER DE BASE DE DATOS
  • 27. Disparar su ejecución: USE AdventureWorks2012; INSERT INTO HumanResources.Department VALUES ( 'Executive Marketing', 'Executive General and Administration', '2/12/2011'); SELECT * FROM HumanResources.Department TALLER DE BASE DE DATOS
  • 28. Modificación de un trigger • Expandir la base de datos • Expandir la tabla correspondiente • Expandir la carpeta triggers • Seleccionar el trigger con click derecho y luego la opción Modify • Aparecerá el trigger en una ventana pero con la sentencia Alter en lugar de Create • Realizar los cambios necesarios y ejecutar TALLER DE BASE DE DATOS
  • 29. • Basándonos en la lámina anterior en el trigger buscar el código: SET ModifiedDate = GETDATE() • Y sustituirlo por: SET ModifiedDate = DATEADD(day, -1, GETDATE() ) • Ejecutamos el query para completar la modificación del trigger • En una nueva ventana de query analycer ejecutar el siguiente código: USE AdventureWorks2012; INSERT INTO HumanResources.Department VALUES ('Executive Purchasing', 'Executive General and Administration', '2/12/2011') SELECT *FROM HumanResources.Department TALLER DE BASE DE DATOS
  • 30. • Desactivar y reactivar triggers: en algunos casos es necesario que un trigger deje de ser disparado pero no deseamos eliminarlo por lo que SQL Server proporciona el medio para desactivar un trigger en particular y luego reactivarlo cuando sea necesario: • Desactivar: USE AdventureWorks2012; DISABLE TRIGGER HumanResources.iCheckModifedDate ON HumanResources.Department; • Reactivar: USE AdventureWorks2012; ENABLE TRIGGER HumanResources.iCheckModifedDate ON HumanResources.Department; TALLER DE BASE DE DATOS
  • 31. Bibliografía Consultada Adam Jorgersen, Microsoft SQL Server 2012 Bible. John Wiley & Sons, Inc. Indianapolis, Indiana. 2012. https://msdn.microsoft.com. Página en Español, Sección de Ayuda de SQL Server 2012. Consultado en Junio de 2015. TALLER DE BASE DE DATOS