0% encontró este documento útil (0 votos)
88 vistas5 páginas

Universidad Don Bosco: Catedra Base de Datos I

Este documento describe un informe de investigación complementaria para la asignatura Base de Datos I. Contiene la creación de una base de datos con tablas de productos y pedidos, así como triggers que se activan ante la inserción de registros en dichas tablas para imprimir mensajes. También incluye un trigger para la tabla de productos que comprueba que el precio de costo no sea mayor que el precio de venta antes de permitir inserciones o actualizaciones.

Cargado por

julio flores
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
88 vistas5 páginas

Universidad Don Bosco: Catedra Base de Datos I

Este documento describe un informe de investigación complementaria para la asignatura Base de Datos I. Contiene la creación de una base de datos con tablas de productos y pedidos, así como triggers que se activan ante la inserción de registros en dichas tablas para imprimir mensajes. También incluye un trigger para la tabla de productos que comprueba que el precio de costo no sea mayor que el precio de venta antes de permitir inserciones o actualizaciones.

Cargado por

julio flores
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD DON BOSCO

Facultad: Ingeniería
Escuela: Computación

CATEDRA

BASE DE DATOS I

DOCENTE

ING. LUIS ANAYA

REPORTE

INVESTIGACION COMPLEMENTARIA GUIA 11

INTEGRANTE

HERNÁNDEZ DOÑO NORBERTO ANTONIO HD101249

GL 02L

CIUDADELA DON BOSCO 26 DE ABRIL 2013


Análisis de Resultados

Utilizando la siguiente base de datos realizar lo siguiente.

CREATE DATABASE eje


GO
USE eje
go

CREATE TABLE producto


(
idproducto CHAR(8) NOT NULL,
nombreproducto VARCHAR(25),
existencia INT NOT NULL,
precio DECIMAL(10,2) NOT NULL,
preciov DECIMAL(10,2) NOT NULL,

constraint pk_idproducto primary key(idproducto)


)

CREATE TABLE pedidos


(
idpedido INT IDENTITY,
idproducto CHAR(8) NOT NULL,
cantidad_pedido INT,

constraint fk_idbod foreign key (idproducto)references


producto(idproducto)
)

INSERT INTO producto VALUES ('prod001','filtros pantalla',5,10,12.5)


INSERT INTO producto VALUES ('prod002','parlantes',7,10,11.5)
INSERT INTO producto VALUES ('prod003','mouse',8,4.5,6)
INSERT INTO producto VALUES ('prod004','monitor',10,60.2,80.0)
INSERT INTO producto VALUES ('prod005','lapiz',5,1.2,2.0)
1- Crear un desencadenador que se active cada vez que se inserte un registro en la tabla pedidos y
otro para la tabla producto.

PRODUCTO:

CREATE TRIGGER insertar_prod ON producto


INSTEAD OF INSERT
AS
IF UPDATE (idproducto)
BEGIN
print'SE HA ACTUALIZADO LA TABLA PRODUCTO'
END

PEDIDOS:

CREATE TRIGGER insertar_ped ON pedidos


INSTEAD OF INSERT
AS
IF UPDATE (idpedido)
BEGIN
print'SE HA ACTUALIZADO LA TABLA PEDIDOS'
END
2- Crear un desencadenador para la tabla producto, que se active cada vez que se inserte un
registro o se actualice la columna precio, la condición para aceptar al inserción o la actualización
es que el precio costo no debe ser mayor que el precio venta.

CREATE TRIGGER insertar_actualizar ON producto AFTER INSERT, UPDATE


AS
DECLARE @pre DECIMAL(10,2), @prev DECIMAL(10,2);
SELECT @pre=precio,@prev=preciov FROM producto WHERE (precio > preciov);
IF @pre >= @prev
BEGIN
ROLLBACK TRANSACTION
PRINT'ERROR, COSTO MAYOR QUE PRECIO DE VENTA';
END
ELSE
BEGIN
COMMIT TRAN
PRINT'SE HA INGRESADO CON EXITO';
END
GO

UPDATE producto SET precio = 16 WHERE idproducto='prod001'

SELECT*FROM producto

También podría gustarte