Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ilerna
ILERNA, centro autorizado con código 25002775 (Lleida), 28077294 (Madrid) y 41023090 (Sevilla) www.ilerna.es
© Ilerna Online S.L., 2021
© Imágenes: Shutterstock
Reservado todos los derechos. No se permite la reproducción total o parcial de esta obra, ni su incorporación a un
sistema informático, ni su transmisión en cualquier forma o por cualquier medio (electrónico, mecánico, fotoco-
pia, grabación u otros) sin autorización previa y por escrito de los titulares del copyright. La infracción de dichos
derechos puede constituir un delito contra la propiedad intelectual.
Ilerna Online S.L. ha puesto todos los recursos necesarios para reconocer los derechos de terceros en esta obra
y se excusa con antelación por posibles errores u omisiones y queda a disposición de corregirlos en posteriores
ediciones.
Bibliografía / webgrafía.....................................................................120
Solucionario .......................................................................................121
8
TUTORIAL DE INSTALACIÓN SGBD ORACLE
Bases de datos - B
BUSCA EN LA WEB
www.oracle.com/es/index.html
BUSCA EN LA WEB
www.oracle.com/technetwork/es/java/javase/
downloads/index.html
7
Tema 8: Tutorial de instalación SGBD Oracle
8
Bases de datos - B
9
Tema 8: Tutorial de instalación SGBD Oracle
10
Bases de datos - B
11
Tema 8: Tutorial de instalación SGBD Oracle
BUSCA EN LA WEB
www.oracle.com/es/database/technologies/
appdev/xe.html
12
Bases de datos - B
13
Tema 8: Tutorial de instalación SGBD Oracle
14
Bases de datos - B
15
Tema 8: Tutorial de instalación SGBD Oracle
BUSCA EN LA WEB
www.oracle.com/es/tools/downloads/sqldev-v192-
downloads.html
16
Bases de datos - B
17
Tema 8: Tutorial de instalación SGBD Oracle
18
Bases de datos - B
ponte a prueba
19
9
CREACIÓN DE BASES DE DATOS
Bases de datos - B
21
Tema 9: Creación de bases de datos
22
Bases de datos - B
23
Tema 9: Creación de bases de datos
24
Bases de datos - B
ponte a prueba
25
Tema 9: Creación de bases de datos
26
Bases de datos - B
27
Tema 9: Creación de bases de datos
28
Bases de datos - B
29
Tema 9: Creación de bases de datos
ponte a prueba
31
10
GESTIÓN DE USUARIOS
Bases de datos - B
33
Tema 10: Gestión de usuarios
34
Bases de datos - B
Creación de usuario
35
Tema 10: Gestión de usuarios
Sintaxis
Ejemplo
Ejemplo
SHOW USER
Sintaxis
36
Bases de datos - B
Ejemplo
Modificación de usuario
Sintaxis
Ejemplo
Ejemplo
37
Tema 10: Gestión de usuarios
Borrado de usuario
Sintaxis
Ejemplo
Consulta de usuario
Mediante DBA_USERS se muestra la lista y configuración
de los usuarios del sistema. Para visualizar la estructura
de un usuario podemos utilizar el comando DESC DBA_
USERS o DESCRIBE DBA_USERS. DESC es un diminutivo
de DESCRIBE.
Ejemplo
DESC DBA_USERS;
Ejemplo
38
Bases de datos - B
Sintaxis
Ejemplo
39
Tema 10: Gestión de usuarios
Privilegios administrativos
En MySQL existen tres privilegios administrativos que son
los siguientes:
40
Bases de datos - B
Creación de usuarios
Existen dos formas diferentes de un usuario: mediante la
interfaz gráfica de Workbench y mediante comandos.
1. Mediante la interfaz gráfica.
41
Tema 10: Gestión de usuarios
Sintaxis
Ejemplo
Sintaxis
BUSCA EN LA WEB
dev.mysql.com/doc/refman/8.0/en/create-user.html
Modificación de usuario
Para modificar una cuenta de usuario en MySQL usamos
el comando ALTER USER. Este comando pueden ejecutarlo
solo los usuarios con privilegios de administrador en su
cuenta o también los que tengan el privilegio del comando
UPDATE.
42
Bases de datos - B
Sintaxis
ALTERUSER [ IF EXISTS ]
User [auth_option] [, user [auth_option]] …
[REQUIRE {NONE | tls_option [[AND] tls_option… }]
[WITH resource_option [resource_option] …]
[password_option | Lock_option ] …
Ejemplo
Ejemplo
43
Tema 10: Gestión de usuarios
Borrado de usuario
En MySQL la sentencia DROP USER se utiliza para elimi-
nar un usuario junto con sus privilegios. Su sintaxis es la
siguiente.
Sintaxis
Sintaxis
44
Bases de datos - B
ponte a prueba
Una buena práctica es evitar hacer uso del privilegio SYSDBA, para
ello existen diferentes tipos de privilegios dependiendo de la tarea
que deseemos realizar. Si se pretende gestionar las credenciales de los
usuarios, ¿qué privilegio se utilizará?
a) SYSBACKUP.
b) SYSKM.
c) SYSDG.
d) SYSRAC.
45
Tema 10: Gestión de usuarios
10.2. Administración de
privilegios
Los privilegios son aquellos permisos y derechos que po-
seen los usuarios de una BD que les permiten manipular los
objetos que haya en la BD. Es decir, los privilegios represen-
tan las opciones que se les han asignado a los usuarios de
una determinada BD para realizar acciones cómo:
Sintaxis
46
Bases de datos - B
GRANTOPTION
|MAX_QUERIES_PER_HOUR count
|MAX_UPDATES_PER_HOUR count
|MAX_CONNECTIONS_PER_HOUR count
|MAX_USER_CONNECTIONS count
En este caso:
47
Tema 10: Gestión de usuarios
Expresión Función
Tipos de privilegios
Privilegio Significado
CREATE USER Permite el uso de CREATE USER, DROP USER, RENAME USER y REVOKE.
48
Bases de datos - B
LOCK TABLES Permite el uso de LOCK TABLES en tablas para las que tenga el
permiso SELECT.
49
Tema 10: Gestión de usuarios
Ejemplo
Ejemplo
Ejemplo
50
Bases de datos - B
Sintaxis simplificada
Tipos de privilegio
Los tipos de privilegios son múltiples. Podemos listar algu-
nos en la siguiente tabla:
Privilegio Significado
ALL [PRIVILEGES] Concede todos los privilegios a excepción de GRANT OPTION y PROXY.
CREATE USER Permite el uso de CREATE USER, DROP USER, RENAME USER y REVOKE
ALL PRIVILEGES a nivel global.
FILE Permite al usuario leer o escribir archivos del servidor a nivel global.
51
Tema 10: Gestión de usuarios
INSERT Permite el uso del comando INSERT. A nivel global, de BD, de columna y
de tabla.
LOCK TABLES Permite el uso de LOCK TABLES en tablas para las que tenga el permiso
SELECT. A nivel global y de BD.
SHOW DATABASES Permite ver todas las BBDD (SHOW DATABASES) a nivel global.
SHOW VIEW Permite el uso del SHOW CREATE VIEW. A nivel global, de BD y de tabla.
BUSCA EN LA WEB
dev.mysql.com/doc/refman/8.0/en/grant.
html#grant-privileges
Tipo de objeto
Los tipos de objetos sobre los que se les puede poner pri-
vilegios son:
52
Bases de datos - B
Nivel de privilegio
Los niveles de privilegio posibles son los siguientes:
Tipo de usuario
Con el comando GRANT, los tipos de usuario que pueden
establecerse en la concesión de privilegios son:
Ejemplo
Ejemplo
53
Tema 10: Gestión de usuarios
ponte a prueba
54
Bases de datos - B
55
Tema 10: Gestión de usuarios
Ejemplo
ponte a prueba
56
Bases de datos - B
Sintaxis
57
Tema 10: Gestión de usuarios
BUSCA EN LA WEB
https://www.boe.es/eli/es/lo/2018/12/05/3
58
Bases de datos - B
59
11 PROGRAMACIÓN EN BASES DE DATOS
(BBDD)
Bases de datos - B
Sintaxis
Sqlplus [{usuario[/password][@database] | /
|/nolog }] [AS {SYSDBA | SYSOPER}]
62
Bases de datos - B
-- Sintaxis
[DECLARE ]
-- declaraciones de objetos (variables, cursores, excepciones definidas
-- por el usuario)]
BEGIN/*comienza la parte ejecutable*/
-- comandos y sentencias SQL y PL/SQL
[EXCEPTION/*comienza la parte de tratamiento de excepciones */
-- acciones para realizar cuando se producen errores]
END;
/ -- fin de sentencia en consola de comandos
63
Tema 11: Programación en bases de datos (BBDD)
11.2.2. Variables
Al igual que en otros los lenguajes de programación, los
lenguajes diseñados para las BBDD también usan variables.
Las variables reservan en la memoria un espacio para asig-
nar valores concretos y se caracterizan por tener un tipo de
información determinado como pueden ser una fecha, una
cadena de texto, un valor numérico, etc.
Variables en PL/SQL
64
Bases de datos - B
Sintaxis
nombre_variable[CONSTANT] tipo_dato
[NOTNULL][:=|DEFAULT|expresión ];
Tipo
65
Tema 11: Programación en bases de datos (BBDD)
Variables en MySQL
Ejemplo
MENSAJE de ERROR
ERROR 1064 You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to
use near 'select (id INT, comentario VARCHAR(100))' at line 1
Ejemplo
Sintaxis
Ejemplo
66
Bases de datos - B
id nombre cantidad
1 valencia 850000
2 madrid 3500000
2 barcelona 2000000
Ejemplo
id nombre cantidad
2 madrid 3500000
2 barcelona 2000000
11.2.3. wOperadores
Los operadores sirven para relacionar variables entre sí,
cuya combinación dará lugar a expresiones aportando re-
sultados. Siendo de esta forma un fundamento de la lógica
en la programación de BBDD. Las operaciones que se pue-
den realizar son las siguientes:
OPERADOR ACCIÓN
** Potencia
* Multiplicación
/ División
67
Tema 11: Programación en bases de datos (BBDD)
+ Suma
- Resta
|| Concatenar cadenas
(3 + 5) / 2 = 4 6+4/2=5
5 != 3 0 <> NULL
68
Bases de datos - B
Sintaxis
IF condición THEN
instrucciones;
[ELSIF condición THEN
instrucciones;]
[ELSE
instrucciones;]
END IF;
/
Ejemplo
Sintaxis
CASE [expresión]
WHEN {condición1|valor1 } THEN
bloque_instrucciones_1
WHEN {condición2|valor2 } THEN
bloque_instrucciones_2
ELSE
bloque_instrucciones_por_defecto
END CASE:
/
Ejemplo
69
Tema 11: Programación en bases de datos (BBDD)
Sintaxis
LOOP
sentencias;
END LOOP;
/
EJEMPLO
70
Bases de datos - B
Ejemplo
Ejemplo
◦ Esquema WHILE
Sintaxis
Sintaxis
71
Tema 11: Programación en bases de datos (BBDD)
En este caso:
• Índice no hace falta declararlo ya que lo hace implícita-
mente al usar la estructura FOR, pero no se puede usar
fuera de ella.
• REVERSE recorre el bucle en sentido inverso, es decir, va
decrementando el valor de índice.
ponte a prueba
¿En qué parte del código podemos ¿Cuál de las siguientes opciones es
declarar una expresión que utilice válida como tipo de una variable
un IF? dentro de un entorno de BBDD?
a) Parte de declaraciones. a) DATE, INTEGER y CHAR.
b) Parte ejecutable. b) SYSTEM, DATE y CHAR.
c) Parte de tratamiento de c) WINDS, CHAR y SYSTEM.
excepciones. d) Ninguna opción es correcta.
d) B y C son correctas.
72
Bases de datos - B
Procedimientos en PL/SQL
Sintaxis
En este caso:
73
Tema 11: Programación en bases de datos (BBDD)
Procedimientos en MySQL
Sintaxis
CREATE PROCEDURE
nombreProc( [IN | OUT | INOUT] nombre_parametro, tipo)
[características]
BEGIN
Sentencias SQL;
END;
74
Bases de datos - B
En este caso:
Veamos un ejemplo:
Ejemplo
DELIMITER $$
CREATE PROCEDURE mostrar_poblacion (IN codigo INT)
BEGIN
SELECT * FROM poblacion WHERE id = codigo;
END$$
Ejemplo
75
Tema 11: Programación en bases de datos (BBDD)
Funciones
Sintaxis
En este caso:
Sintaxis
EXECUTE nombre_procedimiento;
CALL nombre_procedimiento();
--Podemos ejecutar el procedimiento dentro
de un bloque
BEGIN
nombre_procedimiento [ (Parametros) ];
END;
/
76
Bases de datos - B
Ejemplo
Ejemplo
DECLARE
i INT:= 5;
BEGIN
duplicarentero(i);
dbms_output.put_line(i);
END;
Ejemplo
return(espar);
END;
-- Para ejecutar el procedimiento
BEGIN
dbms_output.put_line(paridad(1));
END;
77
Tema 11: Programación en bases de datos (BBDD)
Ejemplo
78
Bases de datos - B
ponte a prueba
Sintaxis
EXCEPTION
WHEN exception1 [ or exception2 … ]THEN
sentencias_para_ejecutar;
WHEN exception3 [ or exception4 … ]THEN
sentencias_para_ejecutar;
WHEN OTHERS THEN
sentencias_para_ejecutar;
END;
/
79
Tema 11: Programación en bases de datos (BBDD)
Tipos
Nombre Descripción
80
Bases de datos - B
Por ejemplo:
Ejemplo
DECLARE
identificador NUMBER;
BEGIN
SELECT nombre INTO identificador
FROM Alumno
WHERE cod = 100;
EXCEPTION
WHEN NO_DATA_FOUND OR TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE ('El error es: '|| SQLCODE );
DBMS_OUTPUT.PUT_LINE ( SQLERRM );
END;
/
Ejemplo
DECLARE
fecha_incorrecta EXCEPTION;
PRAGMA EXCEPTION_INIT (fecha_incorrecta,-01847);
fecha DATE;
BEGIN
fecha:=TO_DATE('32-12-2017');
dbms_output.put_line(fecha);
EXCEPTION
WHEN fecha_incorrecta THEN
dbms_output.put_line('La fecha introducida es incorrecta');
END;
/
81
Tema 11: Programación en bases de datos (BBDD)
Ejemplo
DECLARE
negativo EXCEPTION;
valor NUMBER;
BEGIN
valor:= -1;
IF valor< 0 THEN
RAISE negativo;
END IF;
EXCEPTION
WHEN negativo THEN
dbms_output.put_line ('Números negativos NO permitidos');
END;
/
ponte a prueba
82
Bases de datos - B
Cursores
https://youtu.be/Wl5Hix5LNXE
83
Tema 11: Programación en bases de datos (BBDD)
Ejemplo
84
Bases de datos - B
Excepción Explicación
TOO_MANY_ROWS Dado que cada cursor implícito solo es capaz de recuperar una
fila, esta excepción detecta la existencia de más de una fila.
Sintaxis
DECLARE
CURSOR nombre_cursor IS sentencia_SELECT;
Sintaxis
OPEN nombre_cursor;
Sintaxis
85
Tema 11: Programación en bases de datos (BBDD)
Sintaxis
CLOSE nombre_cursor;
Sintaxis
Sintaxis
86
Bases de datos - B
nombre_cursor %atributo_deseado;
Atributo Significado
87
Tema 11: Programación en bases de datos (BBDD)
Sintaxis
OPEN nombre_cursor;
LOOP
FETCH nombre_cursor INTO lista_variables;
EXIT WHEN nombre_cursor %NOTFOUND;
/* Procesamiento de los registros recuperados */
END LOOP;
CLOSE nombre_cursor;
/
Ejemplo
88
Bases de datos - B
Ejemplo
Sintaxis
CURSOR nombre_cursor IS
instrucción_SELECT
FOR UPDATE [OF column_list] [NO WAIT]
Sintaxis
89
Tema 11: Programación en bases de datos (BBDD)
Ejemplo
dbms_output.put_line('');
dbms_output.put_line('Valores después de actualizarse');
OPEN calumno;
FETCH calumno INTO vTitulo,iAno,vProtagonista;
WHILE calumno% found LOOP
dbms_output.put_line ('Nombre: '||vnombre;);
FETCH calumno INTO vnombre;
END LOOP;
CLOSE calumno;
END;
/
90
Bases de datos - B
Sintaxis
Sintaxis
DBMS_OUTPUT.PUT_LINE ( cadena_de_salida );
Ejemplos
-- Texto:
DBMS_OUTPUT.PUT_LINE ('hola');
-- Variables:
DBMS_OUTPUT.PUT_LINE ( nombre_variable );
-- Constantes:
DBMS_OUTPUT.PUT_LINE ( sysdate);
-- Combinaciones:
DBMS_OUTPUT.PUT_LINE ('cadena de texto ' || contador || sysdate );
Sintaxis
nombreVariable := &Texto_para_mostrar;
Por ejemplo:
Ejemplo
ponte a prueba
92
Bases de datos - B
93
Tema 11: Programación en bases de datos (BBDD)
Sintaxis
En este caso:
94
Bases de datos - B
95
Tema 11: Programación en bases de datos (BBDD)
Ejemplo
96
Bases de datos - B
Ejemplo
ponte a prueba
Un trigger es un módulo PL/SQL compilado
y almacenado en la base de datos que tiene
asociada una tabla y que se ejecuta al llevar
a cabo una instrucción SQL.
a) Verdadero
b) Falso
97
12
USO DE LAS BBDD OBJETO-RELACIONALES
Bases de datos - B
99
Tema 12: Uso de las BBDD objeto-relacionales
Tipos de objetos
12.1. Características
La principal característica que debemos destacar de las
BBDD objeto-relacionales es que combinan el modelo rela-
cional con el modelo orientado a objetos, de tal modo que
evolucionan con la incorporación de algunos conceptos del
modelo orientado a objetos.
ALUMNOS
ALUMNOS
100
Bases de datos - B
ALUMNO
NOMBRE
DNI
DOMICILIO DOMICILIO
CALLE
NÚMERO
CIUDAD
Encapsulamiento
Herencia
101
Tema 12: Uso de las BBDD objeto-relacionales
EJEMPLO
EJEMPLO
EJEMPLO
Polimorfismo
102
Bases de datos - B
ponte a prueba
¿En qué conceptos fundamentales se basa la
programación a objetos?
a) Encapsulamiento, herencia y polimorfismo
b) Funcionalidad, herencia y polimorfismo
c) Funcionalidad, herencia y modularidad
d) Modularidad, funcionalidad y
encapsulamiento
103
Tema 12: Uso de las BBDD objeto-relacionales
ponte a prueba
104
Bases de datos - B
Ejemplo
Sintaxis
Sintaxis
105
Tema 12: Uso de las BBDD objeto-relacionales
Sintaxis
Por ejemplo:
106
Bases de datos - B
Ejemplo
Colecciones
Ejemplo
Ejemplo
107
Tema 12: Uso de las BBDD objeto-relacionales
Ejemplo
Ejemplo
108
Bases de datos - B
12.4. Herencia
Herencia
https://youtu.be/dzkezEDgjds
Tipo persona
Ejemplo
109
Tema 12: Uso de las BBDD objeto-relacionales
Ejemplo
ponte a prueba
110
Bases de datos - B
12.5. Identificadores,
referencias
El tipo REF o referencia es un contenedor de un identifi-
cador de objeto (Object Identifier –OID). Es un puntero a
un objeto. Su utilidad se basa, principalmente, en apuntar
a un objeto que ya existe y así evitar tener que duplicar la
información que el objeto almacena.
Ejemplo
ponte a prueba
111
Tema 12: Uso de las BBDD objeto-relacionales
Tipo Varray
Ejemplo
Ejemplo
ID Nombre Teléfonos
112
Bases de datos - B
Ejemplo
Tablas anidadas
Ejemplo
113
Tema 12: Uso de las BBDD objeto-relacionales
Ejemplo
Las columnas que son tablas anidadas junto con los atri-
butos que son tablas de objetos necesitan de una tabla
independiente donde almacenar las filas de dichas tablas.
Para especificar esta tabla se utiliza la cláusula NESTED
TABLE...STORE AS...
ponte a prueba
114
Bases de datos - B
12.7. Declaración e
inicialización de objetos
Para declarar un objeto en la BD Oracle tenemos que crear
un nuevo tipo de datos. Podemos hacerlo de dos formas
diferentes:
Sintaxis
Sintaxis
[inviker_rights_clause]
{{IS|AS} OBJECT
| UNDER [schema.]supertupe
}[sqlj_object_type]
[({attribute datatype [ sqlj_object_type_attr]}…
[, element_spec [, element_spec]…]
)
][[NOT]FINAL] [ [NOT] INSTANTIABLE]
115
Tema 12: Uso de las BBDD objeto-relacionales
Inserción
Ejemplo
BEGIN
INSERT INTO person
VALUES('Juan', 'Mata');
END;
/
Ejemplo
BEGIN
INSERT INTO person
VALUES (Person ('Juan', 'Mata'));
END;
/
116
Bases de datos - B
Ejemplo
Modificación
Ejemplo
BEGIN
UPDATE person p SET p. direccion = 'c/larga, 7'
WHERE p. apellido = 'López';
UPDATE person p SET p = Person ('Eva', 'García')
WHERE p. apellido = 'López';
END;
/
117
Tema 12: Uso de las BBDD objeto-relacionales
Borrado
Ejemplo
BEGIN
DELETE FROM person p
WHERE p.direccion = 'c/larga, 7';
END;
/
ponte a prueba
118
Bases de datos - B
119
BIBLIOGRAFÍA / WEBGRAFÍA
” Alfonso González (2010). Gestión de Bases de Datos. Madrid.
” Arturo Mora (2014). Bases de Datos. Diseño y Gestión. Vallehermoso, Madrid.
” Iván López, Manuel de Castro, John Ospino (2014). Bases de Datos. Madrid.
” Luis Hueso Ibáñez (2012). Bases de datos. Madrid.
solucionario
8.3 Instalación del cliente Oracle 10.2 Administración de privilegios
Indica el orden correcto que debemos seguir Un usuario de una BBDD posee una serie de
para instalar SQL Developer de Oracle. permisos y privilegios que nos indicarán qué
c) Descargar, desempaquetar, descomprimir y acciones pueden realizar dichos usuarios dentro
ejecutar. de la BBDD.
a) Verdadero.
9.1 Creación de bases de datos en Oracle ¿Cuáles de las siguientes opciones no es un tipo
Las conexiones a BBDD no utilizan nunca de de privilegios dentro de una BBDD?
contraseña, ya que esta podría deshabilitar el b) EXECUTE USER.
usuario principal del sistema.
b) Falso. 10.3 Administración de roles
Los usuarios principales de las conexiones de Los roles son grupos de privilegios que se
BBDD requieren de una contraseña. definen en el usuario de forma directa, ya que
estos no pueden ser almacenados en la BBDD.
9.2 Creación de BBDD en MySQL b) Falso.
En MySQL Workbench es posible conocer los A los roles se les asigna un nombre para ser
detalles de conexión al servidor, ¿cuál de las almacenado en la BBDD y poder referenciar este
siguientes opciones utilizaremos? rol a diferentes usuarios.
a) Server Status.
¿Cuál de las siguientes opciones no es un
beneficio de trabajar con roles?
10.1. Administración de usuarios
c) Un rol solamente puede abarcar un tipo de
¿Cuáles de las siguientes características permiso.
siguientes debería de cumplir un usuario de
BBDD? 11. programación en bases de datos (BBDD)
d) A y B son correctas. ¿Cuál de las siguientes características no nos
aporta el lenguaje PL/SQL?
Las cuentas de BBDD no tienen diferentes
estados, se crean y se eliminan, pero siempre d) No trabaja con estructuras de control de flujo.
con el mismo estado.
b) Falso. 11.2. Sintaxis del lenguaje de programación
¿En qué parte del código podemos declarar una
Una buena práctica es evitar hacer uso del
expresión que utilice un IF?
privilegio SYSDBA, para ello existen diferentes
tipos de privilegios dependiendo de la tarea d) B y C son correctas.
que deseemos realizar. Si se pretende gestionar
¿Cuál de las siguientes opciones es válida como
las credenciales de los usuarios, ¿qué privilegio
tipo de una variable dentro de un entorno de
se utilizará?
BBDD?
b) SYSKM.
a) DATE, INTEGER y CHAR.
Mediante el comando DBA_USERS se muestra la
lista y configuración de los usuarios del sistema. 11.3. Procedimientos y funciones
Entre los siguientes comandos, ¿cuál es el
¿Qué opción tendríamos que indicar a un
correcto para visualizar la estructura?
parámetro para que sea solo de entrada?
a) DESC DBA_USERS.
a) IN.
Existen varias formas de crear usuarios en
Las funciones y los procesos son lo mismo,
MySQL. Indica cuál de ellas es la correcta.
realizan las mismas acciones y permiten
d) Las respuestas a y c son correctas. ejecutarse al mismo nivel dentro de una base de
datos, aunque los procesos son más utilizados,
ya que las funciones son elementos obsoletos.
b) Falso.
solucionario
La diferencia entre las funciones y los procesos ¿Qué clausula utilizaremos en un campo si
reside en que las funciones devuelven datos queremos referenciar el valor antes de ser
(RETURN) y los procesos no, aunque podemos modificado?
utilizar parámetros de salida, no son lo mismo. b) :OLD.