Font size
WorksheetsRevisiónparte2
Total questions: 18
Worksheet time: 15mins
Procedimientos y funciones El almacenamiento interno de los SP se hace en la tabla
(a)
Si tengo la siguiente función: (IMAGEN)
Para convertirlo en un procedimiento la primera que devuelva (salida) la línea recortada. Debo definir la línea de creación como:
CREATE PROCEDURE acortar(IN s VARCHAR(255), IN n INT, OUT salida VARCHAR(255))
: CREATE FUNCTION acortar(IN s VARCHAR(255), IN n INT, OUT salida VARCHAR(255))
: CREATE DELIMETER
acortar(IN s VARCHAR(255), IN n INT, OUT salida VARCHAR(255))
Creación de variables Para mi curso de base de datos necesito crear una variable llamada localidad que contenga Aranjuez
Tengo que escribir (a) en mi interprete de bases de datos y pulsar ENTER. Ya tendré creada mi variable localidad
Creación de variables dentro de mi procedimiento
Para mi procedimiento de base de datos necesito crear una variable llamada localidad (Tipo texto) que contenga Aranjuez. Tengo que escribir dentro de mi procedimiento la línea ______y pulsar ENTER para pasar a la siguiente línea. Ya tendré creada mi variable localidad dentro de mi procedimiento.
DECLARE localidad TEXT DEFAULT 'Aranjuez';
SET localidad TEXT DEFAULT 'Aranjuez';
CREATE localidad TEXT DEFAULT 'Aranjuez';
Cuando una función o procedimiento devuelve siempre el mismo resultado cuando los datos de entrada son siempre los mismos, podemos ayudar a la base de datos indicándolo para así mejorar su velocidad de procesamiento. El comando que debemos incluir para ello es_____
SP
DELIMETER
DETERMINISTIC
FUNCTION
Si tengo el siguiente procedimiento:
Es necesario poner algo en la linea amarilla para que funcione el procedimiento Si la respuesta es no poner: NO (en mayúsculas) Si la respuestas es SI poner la linea que falta
LEAVE
FETCH miCursor INTO t, subt;
TXT miCursor INTO t, subt;
END IF
Completa el procedimiento para hacer la suma de dos números
mysql> delimiter |
mysql> CREATE PROCEDURE mitad(IN a INT, IN c INT, OUT b INT) BEGIN (a)
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
Para controlar las notas de los alumnos quiero crear un trigger llamado verifica_nota sobre la tabla Notas_Alumnos antes de realizar cada insert para que en caso de meter una nota inferior a 5 me lo permita pero me saque un mensaje diciéndome que voy a suspender a un alumno.
¿Cómo sería la línea de creación de este trigger?
(a)
Tengo el siguiente trozo de código de un signal, que me lanza un mensaje poniendo 'Me encantan los miércoles a última hora' cuando error de estado es el '12345' ¿Qué línea falta para declarara este signal?
BEGIN IF NEW.sueldo <= OLD.sueldo THEN
_________
END IF;
END
SIGNAL SQLSTATE ‘12345’ SET message_text= 'Me encantan los miércoles a última hora’;
PROCEDURE SQLSTATE ‘12345’ SET message_text= 'Me encantan los miércoles a última hora’;
SQLSTATE ‘12345’ SET message_text= 'Me encantan los miércoles a última hora’;
Si tengo la siguiente funcion:
Y paso el siguiente comando:
SELECT acortar("Yo voy a aprobar bases de datos", 16);
Lo que me devuelve la función es:
(a)
¿Qué palabra reservada se usa para indicar que a partir de aquel momento, el delimitador será un carácter distinto de ;? Esto se hace cuando vas a definir triggers, stored procedures o funciones, donde hay distintas sentencias en los que aparece ; y no quieres que se ejecuten inmediatamente, sino que se cojan como un todo. De este modo, defines un conjunto de instrucciones que se ejecutarán todas juntas.
(a)
En general, las razones para usar procedimientos almacenados son:
a. Velocidad
Reutilización de código
Seguridad de los datos
b. Facilidad de uso
Portabilidad
Seguridad de los datos
c. Seguridad de los datos
Portabilidad
Reutilización de código
Si quiero borrar el triger hola de la tabla adios el comando que debo ejecutar es:
(a)
Comentarios Los comentarios se extienden hasta el final de la linea y pueden ser introducidos dentro de las funciones y procedimientos con:
-se pone con una palabra la respuesta, no se puede responder con lo que corresponde(son dos:::: )
(a)
Las condiciones hacen posible dar a cierto grupo de errores un nombre claro. La condición se puede formular con SQLSTATE 'codigo_error' o num_error_mysql. Por ejemplo, si queremos gestionar el error que se produce al insertar un registro con una clave duplicada, haremos esto:
DECLARE mi_error VARCHAR(100);
-------------------
'2300') DECLARE CONTINUE HANDLER FOR clave_duplicada SET mi_error=’Intento de duplicar clave’;
DECLARE clave_duplicada CONDITION FOR SQLSTATE '23000';
ALTER
clave_duplicada CONDITION FOR SQLSTATE '23000';
SET
clave_duplicada CONDITION FOR SQLSTATE '23000';
Borrado de procedimientos o funciones Para borrar un SP siempre usamos la palabra reservada DROP FUNCTION o PROCEDURE (a)
Procedimientos y funciones Si no tenemos acceso a la base de datos mysql, podemos recuperar la información de los procedimientos almacenados y las funciones con (a)
El bucle puede llevar opcionalmente una etiqueta, que puede ser usada para abandona el bucle usando la instrucción (a)
