You are on page 1of 2

1.

-
Create Table TEMPERATURA(
dia DATE,
tempMinima int,
tempMaxima int,
tempPromedio int
)

Create Procedure paGeneraTemperaturas


@FECHA DATE
AS
BEGIN TRANSACTION
DECLARE @tmin int,@tmax int,@tprom int
DECLARE @dia date

set @dia=@FECHA

WHILE YEAR(@dia)=YEAR(@FECHA)
BEGIN
set @tmin=CONVERT(int,(30+1)*RAND()+10)
set @tmax=CONVERT(int,@tmin+(40-@tmin)*RAND())
set @tprom=(@tmax+@tmin)/2

INSERT INTO TEMPERATURA(dia,tempMinima,tempMaxima,tempPromedio)


VALUES (@dia,@tmin,@tmax,@tprom)

IF @@ERROR<>0
ROLLBACK TRANSACTION

set @dia=DATEADD(DAY,1,@dia)
END
IF NOT(@@ERROR<>0)
COMMIT TRANSACTION

2.-
CREATE TABLE CATEGORIA(
codcat char(2) Primary Key,
descripcion varchar(80)
)

CREATE TABLE PRODUCTO(


codigo char(5) Primary Key,
descripcion varchar(80),
unidades varchar(80),
precio decimal (10,2),
estado char(1),
codigo_categoria char(2) References CATEGORIA(codcat)
)

Create Procedure paIncrementarPrecios


@descripcion VARCHAR(80),
@porcentaje decimal(10,2)
AS
BEGIN TRANSACTION

UPDATE PRODUCTO SET precio=precio+(precio*(@porcentaje/100))


where codigo_categoria =(
Select codcat from CATEGORIA WHERE descripcion
=@descripcion)and
NOT(estado=5)

IF @@ERROR<>0
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION

You might also like