SQL - IVA PARA LIBROS

 
Vista:

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.

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

IVA PARA LIBROS

Publicado por Isaias (1921 intervenciones) el 04/06/2021 20:50:56
Primero díganos en que motor de base de datos esta trabajando, segundo, de su código, ¿cual es su duda puntual?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar