
DUDAS CONSULTAS PL/SQL
Publicado por paco (4 intervenciones) el 07/01/2021 17:33:47
Buenas estoy empezando a trabajar con los objetos y tengo algunas dudas que quizá me podáis solucionar ^^
- Tego realizado los tipos y tablas de una BDOR en la que tenemos unas pistas deportivas, polideportivos usuarios y reservas.
-Cada polideportivo tiene varias pistas
Esto seria lo que tengo:
Simplemente seria una actividad de prueba no un caso real solo para entender conceptos.
Mi primer problema es que el ultimo INSERT INTO no me inserta el dato me sale un error de "inconsistent datatypes: expected %s got %s". El resto de datos no tube ningun problema.
Aparte como podria consultar las reservas de un usuario o las reservas en un mes?
- Tego realizado los tipos y tablas de una BDOR en la que tenemos unas pistas deportivas, polideportivos usuarios y reservas.
-Cada polideportivo tiene varias pistas
Esto seria lo que tengo:
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
CREATE OR REPLACE TYPE usuarios AS OBJECT(
nombre VARCHAR2(20),
apellidos VARCHAR2(20),
email VARCHAR2 (25),
telefono NUMBER,
codigo_usua VARCHAR2(20)
);
CREATE OR REPLACE TYPE pista AS OBJECT(
codigo_pista VARCHAR2 (20),
tipo VARCHAR2 (15),
Disponibilidad VARCHAR2(20),
precio NUMBER
);
CREATE TABLE tablausuario of usuarios(
codigo_usua primary key
);
INSERT INTO tablausuario VALUES('luis', 'gomez sanchez', 'luis@gmail.com', '649820474', '14012p');
INSERT INTO tablausuario VALUES('paco', 'perez gonzalez', 'paco@gmail.com', '645832174', '14792p');
INSERT INTO tablausuario VALUES('carlos', 'sanz sanchez', 'carlitos@gmail.com', '686049474', '90462d');
CREATE TABLE tablapista of pista(
codigo_pista primary key
);
INSERT INTO tablapista VALUES('4569u', 'futbol', 'si', 13);
INSERT INTO tablapista VALUES('1428h', 'padel', 'si', 8);
INSERT INTO tablapista VALUES('2354A', 'tenis', 'si', 10);
INSERT INTO tablapista VALUES('1429h', 'ping pong', 'si', 5);
CREATE OR REPLACE TYPE polideportivos AS OBJECT (
nombre VARCHAR2(20),
direccion VARCHAR2(30),
Extension NUMBER,
codigo_polide VARCHAR2(20),
pistas REF pista
);
CREATE TABLE tablapolideportivo of polideportivos(
codigo_polide primary key,
pistas references tablapista
);
INSERT INTO tablapolideportivo VALUES ('Virgen Reina', 'calle falsa', 2000, '12345F',
(SELECT REF(TP) FROM tablapista TP where TP.codigo_pista='4569u')
);
INSERT INTO tablapolideportivo VALUES('Rafa nadal', 'calle asturias', 3500, '2547A',
(SELECT REF(TP) FROM tablapista TP where TP.codigo_pista='2354A')
);
INSERT INTO tablapolideportivo VALUES('palacio princesa', 'calle troncal', 4000, '97463A',
(SELECT REF(TP) FROM tablapista TP WHERE TP.codigo_pista='1429h')
);
CREATE TABLE reserva(
Fecha_reserva DATE,
fecha_uso DATE,
usuarios references tablausuario,
pista references tablapista
);
INSERT INTO reserva VALUES('15/11/2019', '20/11/2019',
(SELECT REF(U) FROM tablausuario U where u.codigo_usua='14012p'),
(SELECT REF(TP) FROM tablapista TP WHERE TP.codigo_pista='1429h')
);
Simplemente seria una actividad de prueba no un caso real solo para entender conceptos.
Mi primer problema es que el ultimo INSERT INTO no me inserta el dato me sale un error de "inconsistent datatypes: expected %s got %s". El resto de datos no tube ningun problema.
Aparte como podria consultar las reservas de un usuario o las reservas en un mes?
Valora esta pregunta


0