IVA PARA LIBROS
Publicado por Kevin (1 intervención) el 03/06/2021 20:38:06
Hola me estan pidiendo que haga esto pero tengo dificultades al realizarlo, me pueden ayudar esto es lo que pide:
Utilizando el script de la base de datos BDLIBROS, se pide lo siguiente:
a. Agregar a la tabla LIBRO un campo llamado IVA del tipo decimal con 9 enteros y dos decimales.
b. Crear una función que permita realizar el cálculo de IVA de cualquier libro.
c. Crear un trigger que permita actualizar el campo IVA después de una inserción de un libro, UTILIZANDO LA FUNCIÓN DEL PUNTO B.
d. Crear un procedimiento almacenado que permita actualizar todos los campos de IVA de los registros que están vacíos, nulos o con valor cero en la tabla LIBROS.
Utilizando el script de la base de datos BDLIBROS, se pide lo siguiente:
a. Agregar a la tabla LIBRO un campo llamado IVA del tipo decimal con 9 enteros y dos decimales.
b. Crear una función que permita realizar el cálculo de IVA de cualquier libro.
c. Crear un trigger que permita actualizar el campo IVA después de una inserción de un libro, UTILIZANDO LA FUNCIÓN DEL PUNTO B.
d. Crear un procedimiento almacenado que permita actualizar todos los campos de IVA de los registros que están vacíos, nulos o con valor cero en la tabla LIBROS.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
USE [master]
GO
/****** Object: Database [BDLIBROS] Script Date: 29/5/2021 06:56:51 ******/
CREATE DATABASE [BDLIBROS]
GO
USE [BDLIBROS]
GO
/****** Object: Table [dbo].[DETALLEVENTA] Script Date: 29/5/2021 06:56:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[DETALLEVENTA](
[DETALLEID] [int] IDENTITY(1,1) NOT NULL,
[VENTAID] [int] NULL,
[LIBROID] [int] NULL,
[CANTIDAD] [int] NULL,
[PRECIOVENTA] [decimal](9, 2) NULL,
PRIMARY KEY CLUSTERED
(
[DETALLEID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[LIBROS] Script Date: 29/5/2021 06:56:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[LIBROS](
[LIBROID] [int] IDENTITY(1,1) NOT NULL,
[TITULO] [varchar](40) NULL,
[AUTOR] [varchar](30) NULL,
[EDITORIAL] [varchar](20) NULL,
[PRECIO] [decimal](5, 2) NULL,
PRIMARY KEY CLUSTERED
(
[LIBROID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[VENTAS] Script Date: 29/5/2021 06:56:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[VENTAS](
[VENTAID] [int] IDENTITY(1,1) NOT NULL,
[FECHAVENTA] [datetime] NULL,
[VENTATOTAL] [decimal](9, 2) NULL,
PRIMARY KEY CLUSTERED
(
[VENTAID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET IDENTITY_INSERT [dbo].[DETALLEVENTA] ON
INSERT [dbo].[DETALLEVENTA] ([DETALLEID], [VENTAID], [LIBROID], [CANTIDAD], [PRECIOVENTA]) VALUES (1, 1, 2, 2, CAST(12.00 AS Decimal(9, 2)))
INSERT [dbo].[DETALLEVENTA] ([DETALLEID], [VENTAID], [LIBROID], [CANTIDAD], [PRECIOVENTA]) VALUES (2, 2, 9, 1, CAST(34.00 AS Decimal(9, 2)))
SET IDENTITY_INSERT [dbo].[DETALLEVENTA] OFF
SET IDENTITY_INSERT [dbo].[LIBROS] ON
INSERT [dbo].[LIBROS] ([LIBROID], [TITULO], [AUTOR], [EDITORIAL], [PRECIO]) VALUES (1, N'UNO', N'RICHARD BACH', N'PLANETA', CAST(15.00 AS Decimal(5, 2)))
INSERT [dbo].[LIBROS] ([LIBROID], [TITULO], [AUTOR], [EDITORIAL], [PRECIO]) VALUES (2, N'ILUSIONES', N'RICHARD BACH', N'PLANETA', CAST(12.00 AS Decimal(5, 2)))
INSERT [dbo].[LIBROS] ([LIBROID], [TITULO], [AUTOR], [EDITORIAL], [PRECIO]) VALUES (3, N'EL ALEPH', N'BORGES', N'EMECE', CAST(25.00 AS Decimal(5, 2)))
INSERT [dbo].[LIBROS] ([LIBROID], [TITULO], [AUTOR], [EDITORIAL], [PRECIO]) VALUES (4, N'APRENDA PHP', N'MARIO MOLINA', N'NUEVO SIGLO', CAST(50.00 AS Decimal(5, 2)))
INSERT [dbo].[LIBROS] ([LIBROID], [TITULO], [AUTOR], [EDITORIAL], [PRECIO]) VALUES (5, N'MATEMATICA ESTAS AHI', N'PAENZA', N'NUEVO SIGLO', CAST(18.00 AS Decimal(5, 2)))
INSERT [dbo].[LIBROS] ([LIBROID], [TITULO], [AUTOR], [EDITORIAL], [PRECIO]) VALUES (6, N'PUENTE AL INFINITO', N'BACH RICHARD', N'SUDAMERICANA', CAST(14.00 AS Decimal(5, 2)))
INSERT [dbo].[LIBROS] ([LIBROID], [TITULO], [AUTOR], [EDITORIAL], [PRECIO]) VALUES (7, N'ANTOLOGÍA', N'J. L. BORGES', N'PAIDOS', CAST(24.00 AS Decimal(5, 2)))
INSERT [dbo].[LIBROS] ([LIBROID], [TITULO], [AUTOR], [EDITORIAL], [PRECIO]) VALUES (8, N'JAVA EN 10 MINUTOS', N'MARIO MOLINA', N'SIGLO XXI', CAST(45.00 AS Decimal(5, 2)))
INSERT [dbo].[LIBROS] ([LIBROID], [TITULO], [AUTOR], [EDITORIAL], [PRECIO]) VALUES (9, N'CERVANTES Y EL QUIJOTE', N'BORGES- CASARES', N'PLANETA', CAST(34.00 AS Decimal(5, 2)))
SET IDENTITY_INSERT [dbo].[LIBROS] OFF
SET IDENTITY_INSERT [dbo].[VENTAS] ON
INSERT [dbo].[VENTAS] ([VENTAID], [FECHAVENTA], [VENTATOTAL]) VALUES (1, CAST(N'2021-05-10T00:00:00.000' AS DateTime), CAST(24.00 AS Decimal(9, 2)))
INSERT [dbo].[VENTAS] ([VENTAID], [FECHAVENTA], [VENTATOTAL]) VALUES (2, CAST(N'2021-05-13T00:00:00.000' AS DateTime), CAST(34.00 AS Decimal(9, 2)))
SET IDENTITY_INSERT [dbo].[VENTAS] OFF
ALTER TABLE [dbo].[DETALLEVENTA] WITH CHECK ADD CONSTRAINT [FK_LIBRO_DETALLEVENTA] FOREIGN KEY([LIBROID])
REFERENCES [dbo].[LIBROS] ([LIBROID])
GO
ALTER TABLE [dbo].[DETALLEVENTA] CHECK CONSTRAINT [FK_LIBRO_DETALLEVENTA]
GO
ALTER TABLE [dbo].[DETALLEVENTA] WITH CHECK ADD CONSTRAINT [FK_VENTA_DETALLE] FOREIGN KEY([VENTAID])
REFERENCES [dbo].[VENTAS] ([VENTAID])
GO
ALTER TABLE [dbo].[DETALLEVENTA] CHECK CONSTRAINT [FK_VENTA_DETALLE]
GO
USE [master]
GO
ALTER DATABASE [BDLIBROS] SET READ_WRITE
GO
Valora esta pregunta


0