SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Técnicas de recolección de requerimientos
Técnicas de recolección de requerimientosTécnicas de recolección de requerimientos
Técnicas de recolección de requerimientosJoaquin Artavia Chaves
 
Modelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de InformaciónModelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de InformaciónIsaias Toledo
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetosyolandacando1
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpuIsaí Beto Matz Mijes
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedioGuillermo
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
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
 
2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de usoSaul Mamani
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datosJorge Garcia
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteJosé Antonio Sandoval Acosta
 
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
 

Tendances (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
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Técnicas de recolección de requerimientos
Técnicas de recolección de requerimientosTécnicas de recolección de requerimientos
Técnicas de recolección de requerimientos
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Modelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de InformaciónModelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de Información
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
 
TRIGGERS O DISPARADORES
TRIGGERS O DISPARADORESTRIGGERS O DISPARADORES
TRIGGERS O DISPARADORES
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetos
 
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
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
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
 
2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 
Vistas
VistasVistas
Vistas
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Transaccion
TransaccionTransaccion
Transaccion
 
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)
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 

En vedette

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
 
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónM4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónJosé Antonio Sandoval Acosta
 

En vedette (20)

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
 
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
 
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónM4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
 

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Plus de 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
 

Dernier

SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfcesar17lavictoria
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfDiegoMadrigal21
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 

Dernier (20)

SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdf
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 

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