Beruflich Dokumente
Kultur Dokumente
Informtica
BASES DE DATOS I
Michaela Salgado
Fecha de realizacin:
15 de Noviembre de
2015
Fecha de entrega:
4 de Enero de 2016
INFORME DE LABORATORIO # 6
TTULO:
PROCEDIMIENTOS ALMACENADOS
1. OBJETIVO:
Utilizar variables e instrucciones de control de flujo para realizar operaciones sobre los datos.
2. DESARROLLO:
1. Para este laboratorio vamos a utilizar las sentencias de control de flujo SQL
a. Asignar un valor a una variable tipo VARCHAR con la instruccin SELECT:
c.
Realizacin de un bucle que se defina por una variable que imprima n valores:
BASES DE DATOS I
Michaela Salgado
Fecha de realizacin:
15 de Noviembre de
2015
Fecha de entrega:
4 de Enero de 2016
INFORME DE LABORATORIO # 6
2. Se va a crear una tabla que se llame Lugar y crear los siguientes procedimientos
almacenados:
b. Insertar tuplas:
c.
BASES DE DATOS I
Michaela Salgado
Fecha de realizacin:
15 de Noviembre de
2015
Fecha de entrega:
4 de Enero de 2016
INFORME DE LABORATORIO # 6
d. Eliminar Registros:
BASES DE DATOS I
Michaela Salgado
Fecha de realizacin:
15 de Noviembre de
2015
Fecha de entrega:
4 de Enero de 2016
INFORME DE LABORATORIO # 6
3. Crear la siguiente relacin en la base de datos Ventas con las siguiente descripciones que
se presentara en la imagen siguiente, siempre hay que tener en cuenta las restricciones de
los dominios.
Lo que primero que vams hacer es la creacin de las tablas con su respectivos atributos, y
relaciones.
Tabla producto:
Tabla pedido:
BASES DE DATOS I
Michaela Salgado
Fecha de realizacin:
15 de Noviembre de
2015
Fecha de entrega:
4 de Enero de 2016
INFORME DE LABORATORIO # 6
A continuacin se va a crear un procedimiento que permita realizar un Pedido, se debera
verificar si el cdigo del producto ingresado, tambin la cantidad a pedir es mayor a la
exitencia del producto, el prodecimiento deber enviar un mensaje que contenga lo siguiente
Existencia del Producto Insuficiente. En caso que la cantidad sea menor o igual deber
modificar de la existencia.
Buscamos el pedido con el Id_Producto, con la cantidad del Pedido con el Lugar del Pedido.
Como explicamos anteriormente que la cantidad a pedir el mayor se tiene que mandar un
mensaje como podemos observar en la imagen siguiente
Y si la cantidad a pedir es menos se tiene que guardar en la tabla de datos de pedidos como
muestra en la siguiente imagen:
BASES DE DATOS I
Michaela Salgado
Fecha de realizacin:
15 de Noviembre de
2015
Fecha de entrega:
4 de Enero de 2016
INFORME DE LABORATORIO # 6
4. Realizar un procedimiento que nos permita realizar un programa para RealizarPedidos y que
nos desplegu los siguientes mensajes, Este programa va ser necesario utilizar sentencia de
control if:
3. CUESTIONARIO DE INVESTIGACIN:
Mediante ejemplos muestre la utilidad de la sentencias de control de flujo: IF, WHILE, BREAK;
CONTINUE, RETURN, y CASE del Transact-SQL.
If:
BASES DE DATOS I
Michaela Salgado
Fecha de realizacin:
15 de Noviembre de
2015
Fecha de entrega:
4 de Enero de 2016
INFORME DE LABORATORIO # 6
While
BASES DE DATOS I
Michaela Salgado
Fecha de realizacin:
15 de Noviembre de
2015
Fecha de entrega:
4 de Enero de 2016
INFORME DE LABORATORIO # 6
Break: produce la salida del bucle while ms interno. Se ejecuta las instrucciones que
aparecen despus de la palabra clave END, que marca el final del bucle.
Continue: hace que se reinicie el bucle while y omite las instrucciones que haya
despus de la palabra clave continue.
Return: sale incondicionalmente de una consulta o procedimiento, return es
inmediata y completa, y se puede utilizar en cualquier punto para salir de un
procedimiento, lote o bloque de instrucciones.
Case:
BASES DE DATOS I
Michaela Salgado
Fecha de realizacin:
15 de Noviembre de
2015
Fecha de entrega:
4 de Enero de 2016
INFORME DE LABORATORIO # 6
4. CONCLUSIONES:
Las sentencias de flujo nos ayuda a ser ordenados y a optimizar lo que deseamos buscar de
una forma ms rpida y sencilla.
Siempre hay que tener en cuenta el formato de la sentencia que se va a utilizar para no tener
errores.
Los return es un procedimiento para salir inmediatamente de una consulta y es utilizada para
salir de un procedimiento, loteo bloque.
Break sale del bucle ms interno en una instruccin while o una instruccin if.
5. BIBLIOGRAFA:
Oracle.
(2013).
Sentencias
de
Control.
02-01-2016,
de
Sql-Pl
Sitio
web:
http://jeanmazuelos.com/es/biblioteca/cursos/oracle-plsql-basico/capitulo-4-sentencias-decontrol
6. ANEXOS:
CREATE TABLE [dbo].[Producto](
[Id_Producto] [int] IDENTITY(1,1) NOT NULL,
[DescripcionProducto] [varchar](25) NULL,
[FechaProducto] [date] NOT NULL,
[ExistenciaProducto] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(
[Id_Producto] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
BASES DE DATOS I
Michaela Salgado
Fecha de realizacin:
15 de Noviembre de
2015
Fecha de entrega:
4 de Enero de 2016
INFORME DE LABORATORIO # 6
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[Pedido] WITH CHECK ADD FOREIGN KEY([Id_Producto])
REFERENCES [dbo].[Producto] ([Id_Producto])
GO
ALTER TABLE [dbo].[Pedido] WITH CHECK ADD CHECK (([CantidadPedido]>(0)))
GO
ALTER TABLE [dbo].[Pedido] WITH CHECK ADD CHECK (([LugarPedido]='S' OR [LugarPedido]='N'
OR [LugarPedido]='C'))
GO
ALTER TABLE [dbo].[Producto] WITH CHECK ADD CHECK (([ExistenciaProducto]>=(0)))
GO
USE [master]
GO
ALTER DATABASE [Ventas] SET READ_WRITE
GO