0% encontró este documento útil (0 votos)
55 vistas4 páginas

Transact SQL Grupo A: Examen Parcial de Base de Datos

Este documento presenta 10 procedimientos almacenados en Transact SQL para realizar operaciones sobre una base de datos. Los procedimientos incluyen crear una tabla, insertar registros, modificar registros, eliminar registros, y consultas que utilizan parámetros para filtrar resultados por año, provincia, producto y vendedor.
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 DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
55 vistas4 páginas

Transact SQL Grupo A: Examen Parcial de Base de Datos

Este documento presenta 10 procedimientos almacenados en Transact SQL para realizar operaciones sobre una base de datos. Los procedimientos incluyen crear una tabla, insertar registros, modificar registros, eliminar registros, y consultas que utilizan parámetros para filtrar resultados por año, provincia, producto y vendedor.
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 DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 4

Examen Parcial de Base de Datos

Transact SQL GRUPO A

Apellidos y Nombres: changanaqui ormeño pedro manuel

PROCEDIMIENTOS ALMACENADOS

1. CREAR LA TABLA CON UN PROCEDIMIENTO ALMACENADO, ENVIAR POR PARAMETRO


EL NOMBRE DE LA TABLA:
tb_IMPUESTO

Clave Campo Tipo de Dato Longitud


PK id_imp int autogenerado
desc_imp decimal 6,2
valo_imp decimal 6,2
USE BD_GAS2
GO
create proc sp_creartabla
@nombreT varchar(50)
as
declare @comando varchar(4000);
set @comando= 'CREATE TABLE '+@nombreT+ '( id_imp int PRIMARY KEY not null,des_imp
decimal(6,2) NOT NULL,valo_imp decimal(6,2) NOT NULL)';
EXEC (@comando);

EXEC sp_creartabla 'tb_IMPUESTO'

2. INSERTAR CUATRO REGISTROS EN LA TABLA IMPUESTO, INGRESAR POR


PARÁMETRO LOS CUATRO REGISTROS. (SOLO SE DEBE INGRESAR POR
PARAMETRO desc_imp y valo_imp)

create procedure sp_insertarregistro


@id_imp int ,
@desimp varchar(30),
@valoimp varchar(30)
as
insert into [dbo].[tb_IMPUESTO]
values(@id_imp,@desimp,@valoimp)

exec sp_insertarregistro '1','10','500.50'


exec sp_insertarregistro '2','20','600.50'
exec sp_insertarregistro '3','30','800.50'
exec sp_insertarregistro '4','50','1000.50'
select * from [dbo].[tb_IMPUESTO]

3. MODIFICAR EL VALOR DEL ÚLTIMO REGISTRO, INGRESAR POR PARÁMETRO


EL id_imp Y EL NUEVO VALOR DEL IMPUESTO.
create proc sp_modificarrefistro
@id_imp int ,
@valoimp varchar(30)
as
update[dbo].[tb_IMPUESTO]
set id_imp=@id_imp,
valo_imp=@valoimp
where id_imp=@id_imp

exec sp_modificarrefistro '4','800.50'

select * from [dbo].[tb_IMPUESTO]

4. ELIMINAR EL VALOR DEL PRIMER REGISTRO, INGRESAR POR PARÁMETRO El


id_imp

create proc sp_borrarregistro


@id_imp int
as
delete from [dbo].[tb_IMPUESTO]
where id_imp=@id_imp

exec sp_borrarregistro '1'

5. PROCEDIMIENTOS ALMACENADOS CON PARAMETROS

CUANTO FUE EL TOTAL DE VENTA GENERADA, EN UNA PROVINCIA


DETERMINADA, ENVIAR COMO PARÁMETRO EL AÑO.

Año | Total Venta | Provincia


------------------------------
| |

create proc sp_ventagenerada


@año datetime
as
select year(ve.fech_venta)as AÑO,count(de.cantidad)as TOTAL,DI.nomb_dis AS PROVINCIA
from [dbo].[tb_Distrito]DI inner join [dbo].[tb_Venta]VE on DI.id_dis=VE.id_dis
inner join [dbo].[tb_Detalle]DE on VE.id_ven=DE.id_venta
where year(ve.fech_venta) in (@año)
group by CANTIDAD

exec sp_ventagenerada '2008'

6. PROCEDIMIENTOS ALMACENADOS CON PARAMETROS, CUANTOS


PRODUCTOS SE VENDIERON POR AÑO, INGRESE EL NOMBRE DEL
PRODUCTO POR PARÁMETRO
Año | Producto | Año
-----------------------------------------------
| |

create proc sp_procven


@nombr varchar (15)
as
select year(ve.fech_venta)as AÑO,count(de.cantidad)as TOTAL,PRO.nomb_pro as PRODUCTO
from [dbo].[tb_Producto]PRO inner join [dbo].[tb_Detalle]DE on PRO.id_pro=DE.id_pro
inner join [dbo].[tb_Venta]VE on DE.id_venta=VE.id_ven
where pro.nomb_pro in (@nombr)
group by ve.fech_venta,pro.nomb_pro

exec sp_procven 'Llama Gas 10kls'

7. PROCEDIMIENTOS ALMACENADOS CON PARAMETROS, CUANTO SE RECAUDO


DE UTILIDAD POR LA VENTA DE PRODUCTOS POR AÑO,
INGRESAR POR PARAMETRO EL AÑO

Años | Utilidad
-----------------
|
create proc sp_utilidad
@año datetime
as
select year(ve.fech_venta) as año ,SUM(pro.prec_pro*de.cantidad-
pro.cost_pro*de.cantidad) as utilidad
from [dbo].[tb_Producto]PRO inner join [dbo].[tb_Detalle] DE on PRO.id_pro=DE.id_pro
inner join [dbo].[tb_Venta]VE on DE.id_venta=VE.id_venta
where ve.fech_venta in (@año)
group by ve.fech_venta

exec sp_utilidad '2008'

8. GENERE PROCEDIMIENTO ALMACENADO QUE MUESTRE LOS PRODUCTOS


VENDIDOS POR AÑO. INGRESE COMO PARÁMETRO EL AÑO QUE SE DESEA
LISTAR.

Año | Producto
-------------------------
|

create proc sp_ventaporaño


@año datetime
as
select year(ve.fech_venta) as año ,pro.nomb_pro as PRODUCTO_VENDIDO
from [dbo].[tb_Producto]PRO inner join [dbo].[tb_Detalle]DE on PRO.id_pro=DE.id_pro
inner join [dbo].[tb_Venta]VE on DE.id_venta=VE.id_ven
where ve.fech_venta in (@año)
group by ve.fech_venta,pro.nomb_pro

exec sp_ventaporaño'2008'

9. GENERE UN PROCEDIMIENTO ALMACENADO QUE PERMITA ACTUALIZAR EL


STOCK DE UN PRODUCTO, INGRESAR POR PARAMETRO EL NOMBRE DEL
PRODUCTO Y EL NUEVO VALOR DEL STOCK.

create proc sp_actualizarstock


@nompro Nvarchar(15),
@stock int
as
update [dbo].[tb_Producto]
set nomb_pro=@nompro,
stoc_pro=@stock
where nomb_pro=@nompro

exec sp_actualizarstock 'Llama Gas 10kls',100

10. GENERE UN PROCEDIMIENTO ALMACENADO QUE VIZUALIZE LAS


CANTIDADES DE VENTAS QUE SE OBTUVO POR VENDEDOR, INGRESE POR
PARÁMETRO EL AÑO.

create proc sp_ventaporvendedor


@año datetime
as
select year(ve.fech_venta) as año ,VEN.apno_ven as VENDEDOR
from [dbo].[tb_Detalle]DE inner join [dbo].[tb_Venta]VE on DE.id_venta=VE.id_ven
inner join [dbo].[tb_Vendedor]VEN on VE.id_ven=VEN.id_ven
where ve.fech_venta in (@año)
group by ve.fech_venta,VEN.apno_ven

exec sp_ventaporvendedor '2008'

También podría gustarte