option
Cuestiones
ayuda
daypo
buscar.php

Examen de Base de datos

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Examen de Base de datos

Descripción:
examen de BD

Fecha de Creación: 2025/07/06

Categoría: Universidad

Número Preguntas: 64

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

Se desea crear un procedimiento almacenado para consultar las ventas de un rango específico de fechas, se envía como parámetro la fecha de inicio y fecha de finalización. Si la fecha de finalización es nula debe tomar la fecha actual. ¿Cuál de las siguientes afirmaciones será la correcta respecto a estos 2 códigos?. Los 2 procedimientos funcionan. Solo el procedimiento 1 funciona. Solo el procedimiento 2 funciona. Los 2 procedimientos no funcionan.

Deseo obtener todas las marcas y la cantidad de modelos que tiene asociado. ¿Cuál de los siguientes enunciados es correcto respecto a los siguientes códigos propuestos?. Solo la consulta 1 funciona. Las 2 consultas funcionan. Ninguna consulta funciona. Solo la consulta 2 funciona.

Del siguiente diagrama: CREATE PROCEDURE MOD_MODELO (@NOM VARCHAR(50), @MAR VARCHAR(50)) AS UPDATE MODELO SET NOMBRE = @NOM, IDMARCA = @MAR WHERE IDMODELO = @ID. CREATE PROCEDURE MOD_MODELO (@NOM VARCHAR(50), @MAR INT, @ID INT) AS DECLARE @IDMAR VARCHAR(50) = (SELECT IDMARCA FROM MARCA WHERE NOMBRE = @MAR) IF @IDMAR NOT IS NULL UPDATE MODELO SET NOMBRE = @NOM, IDMARCA = @MAR WHERE IDMODELO = @ID. CREATE PROCEDURE MOD_MODELO (@NOM VARCHAR(50), @MAR VARCHAR(50), @ID INT) AS DECLARE @IDMAR INT = (SELECT IDMARCA FROM MARCA WHERE NOMBRE LIKE @MAR) IF @IDMAR NOT IS NULL UPDATE MODELO SET NOMBRE = @NOM, IDMARCA = @IDMAR WHERE IDMODELO = @ID. CREATE PROCEDURE MOD_MODELO (@NOM VARCHAR(50), @MAR VARCHAR(50), @ID INT) AS UPDATE MODELO SET NOMBRE = @NOM, IDMARCA = @MAR WHERE IDMODELO = @ID.

del siguiente diagrama: SELECT NOMBRE AS MODELO, SUM(TOTAL) AS TOTAL FROM MODELO M INNER JOIN MARCA MA INNER JOIN ON MA.IDMARCA = M.IDMARCA INNER JOIN TELEFONO T ON T.IDMODELO = M.IDMODELO INNER JOIN VENTA V ON V.IDVENTA = T.IDTELEFONO INNER JOIN VENTADETALLE VD ON VD.IDTELEFONO = T.IDTELEFONO GROUP BY NOMBRES. SELECT NOMBRE AS MODELO, SUM(TOTAL) AS TOTAL FROM MODELO M INNER JOIN MARCA MA INNER JOIN ON MA.IDMARCA = M.IDMARCA INNER JOIN TELEFONO T ON T.IDMODELO = M.IDMODELO INNER JOIN VENTADETALLE VD ON VD.IDTELEFONO = T.IDTELEFONO INNER JOIN VENTA V ON VD.IDVENTA = V.IDVENTA GROUP BY M.NOMBRE. SELECT NOMBRE AS MODELO, SUM(TOTAL) AS TOTAL FROM MODELO M, MARCA MA, TELEFONO T, VENTADETALLE VD, VENTA V WHERE M.IDMODELO = MA.IDMODELO AND MA.IDMARCA = T.IDMARCA AND T.IDTELEFONO = VD.IDTELEFONO AND V.IDVENTA = VD.IDVENTA GROUP BY NOMBRES. SELECT NOMBRE AS MODELO, SUM(TOTAL) AS TOTAL FROM MODELO M INNER JOIN MARCA MA INNER JOIN ON MA.IDMARCA = M.IDMARCA INNER JOIN TELEFONO T ON T.IDMODELO = M.IDMODELO INNER JOIN VENTADETALLE VD ON VD.IDTELEFONO = T.IDTELEFONO INNER JOIN VENTA V ON VD.IDVENTA = V.IDVENTA GROUP BY NOMBRE.

Del siguiente diagrama: SELECT IDCLIENTE, NOMBRES, CASE GENERO WHEN 1 THEN 'HOMBRE' WHEN 2 THEN 'MUJER' END CASE 'SEXO', DATEDIFF(YEAR, FECHA_NAC, GETDATE()) FROM CLIENTE. SELECT IDCLIENTE, NOMBRES, CASE SEXO WHEN 1 THEN 'HOMBRE' WHEN 2 THEN 'MUJER' END 'SEXO', DATEDIFF(YEAR, FECHA_NAC, GETDATE()) FROM CLIENTE. SELECT IDCLIENTE, NOMBRES, CASE GENERO WHEN 1 THEN 'HOMBRE' ELSE 'MUJER' END 'SEXO', DATEDIFF(YEAR, FECHA_NAC, GETDATE()) FROM CLIENTE. SELECT C.IDCLIENTE, C.NOMBRES, 'SEXO' = CASE C.GENERO WHEN 1 THEN 'HOMBRE' WHEN 2 THEN 'MUJER' END, YEAR(GETDATE()) - YEAR(C.FECHA_NAC) FROM CLIENTE.

Se desea crear la base de datos llamada Examen con un archivo de datos de 10Mb, un tamaño máximo de 20Mb y un crecimiento de 1Mb., el archivo de registro log debe asumir los valores por default. ¿Cuál de las siguientes consultas será la correcta?. Use Master GO Create DATABASE Examen On Primary (NAME = 'Prueba2_Data', FILENAME = 'C:\sqlserver\data\Data.mdf', SIZE = 20Mb, MAXSIZE = 10Mb, FILEGROWTH = 1Mb). Use Master GO Create Database Examen On Primary (NAME = 'Prueba2_Data', FILENAME = 'C:\sqlserver\data\Data.mdf', SIZE = 10Mb, MAXSIZE = 1Mb, FILEGROWTH = 20Mb). Use Master GO Create Database Examen On Primary (NAME = 'Prueba2_Data', FILENAME = 'C:\sqlserver\data\Data.mdf', SIZE = 10Mb, MAXSIZE = 20Mb, FILEGROWTH = 1Mb). Use Master GO Create Database Examen On Primary (NAME = 'Prueba2_Data', FILENAME = 'C:\sqlserver\data\Data.mdf', SIZE = 20Mb, MAXSIZE = 1Mb, FILEGROWTH = 20Mb).

Relacionar correctamente cada concepto con su extensión correspondiente. 1A, 2C, 3B. 1B, 2B, 3C. 1B, 2C, 3B. 1A, 2B, 3C.

Deseo obtener todas las comidas que no hayan sido utilizadas en una venta. ¿Cuál consulta será la correcta?. SELECT * FROM COMIDA WHERE NOT EXISTS (SELECT 1 FROM VENTADETALLE D WHERE D.IDCOMIDA = C.IDCOMIDA). SELECT * FROM COMIDA C WHERE C.IDCOMIDA NOT IN (SELECT IDCOMIDA FROM DETALLEVENTA). SELECT S.* FROM SERVICIO S LEFT JOIN DETALLEPLANILLA DP ON S.IDSERVICIO = DP.IDSERVICIO WHERE DP.IDSERVICIO IS NULL. SELECT C.* FROM COMIDA C LEFT JOIN VENTADETALLE D ON C.IDCOMIDA = D.IDCOMIDA WHERE D.IDCOMIDA IS NULL AND D.IDCOMIDA = 0.

Se desea consultar a los clientes que su nombre no termine en una vocal. ¿Cuál de los siguientes enunciados es correcto respecto a los siguientes códigos propuestos?. Las 2 consultas funcionan. Ninguna consulta funciona. Solo la consulta 1 funciona. Solo la consulta 2 funciona.

¿Cuál de los siguientes enunciados es incorrecto con respecto a los procedimientos almacenados?. Es un programa ejecutado a través de una sentencia SQL. Se ejecuta en el servidor. Es obligatorio que estén escritos en SQL (Java, PL/SQL, Transact SQL). Encapsulan reglas de negocio fuertemente relacionadas con los datos de la BD y sin interacción con el usuario.

La palabra clave _______ permite evaluar si el valor de una columna no se encuentra en el conjunto de valores retornados por una subconsulta. ANY. EXISTS. ALL. NOT IN.

Definida por el usuario es una rutina de Transact-SQL o Common Language Runtime (CLR) que acepta parámetros, realiza una acción, como un cálculo complejo, y devuelve el resultado de esa acción como un valor. Cursores. Funciones. Procedimientos Almacenados. Triggers.

La palabra reservada _______ permite realizar búsqueda que coincida con una lista de valores. EXISTS. LIKE. BETWEEN. IN.

¿Cuál de los siguientes enunciados es falso con respecto a los triggers en SQLSERVER?. Los disparadores, a diferencia de las restricciones "check", no pueden hacer referencia a campos de otras tablas. No existe una tabla Updated ya que la actualización reside en Deleted e Inserted. Un trigger (disparador) en una base de datos es un procedimiento que se ejecuta cuando se cumple una determinada condición al realizar una operación. Existen 2 tipos de triggers: Triggers DML y Triggers DDL.

La extensión recomendada para el archivo físico es mdf (master data file). Archivos de Datos Primarios. Archivos de datos temporales. Archivos de Datos Secundarios. Archivos Log.

¿Cuál de los siguientes enunciados es falso con respecto a los triggers en SQLSERVER?. Los disparadores DML se ejecutan cuando un usuario intenta modificar datos mediante un evento de lenguaje de manipulación de datos (DML). Los eventos DML son instrucciones INSERT, UPDATE o DELETE de una tabla o vista. Se activan cuando se desencadena cualquier evento inválido. Es una clase especial de procedimiento almacenado que se ejecuta automáticamente cuando se produce un evento en el servidor de bases de datos.

Relaciona dos tablas e incluye en una tercera sólo los registros que satisfacen la condición del Join. CROSS JOINS. INNER JOINS. OUTER JOINS. FULL JOINS.

Se desea presentar el nombre del cliente y la edad, ¿Cuál consulta será la correcta?. SELECT NOMBRES, DATEDIFF(FECHA_NAC, YEAR, GETDATE()) FROM CLIENTE. SELECT NOMBRES, YEAR(GETDATE()) - YEAR(C.FECHA_NAC) FROM CLIENTE. SELECT NOMBRES, DATEDIFF(YEAR, FECHA_NAC, GETDATE()) FROM CLIENTE. SELECT NOMBRES, 2024 - YEAR(C.FECHA_NACIMIENTO) FROM CLIENTE C.

¿Cuál de los siguientes enunciados es falso con respecto a las funciones en SQLSERVER?. Solo se puede anidar hasta 32 funciones al momento de ejecutar. No pueden insertar datos en otra tabla con la instrucción INTO ejemplo. La principal ventaja de una función es que esta puede reutilizarse en código. Puede invocar procedimientos dentro de una función.

Solo está disponible en las operaciones INSERT y UPDATE y en ella están los valores resultantes después de la inserción o actualización. updated. deleted. inserted. selected.

Evalúa un conjunto de condiciones y retorna como resultado una expresión. EXISTS. ANY. CASE. IN.

Una clave ajena es una columna o combinación de columnas usadas para establecer y asegurar una conexión entre dos tablas. Restricciones Check. Restricciones Primary Key. Restricciones Unique. Restricciones Foreign Key.

Una tabla usualmente tiene una columna (o una combinación de columnas) que identifica unívocamente cada fila de la tabla. Restricciones Foreign Key. Restricciones Check. Restricciones Primary Key. Restricciones Unique.

Este tipo de archivos contiene la información necesaria para el proceso de recuperación de la base de datos. Archivos de Datos Primarios. Archivos de Datos Secundarios. Archivos Log. Archivos de datos temporales.

Se desea modificar el tamaño de caracteres de la columna nombres de la tabla CLIENTE en 100 a 200. ¿Cuál de las siguientes líneas de código es la correcta?. ALTER TABLE CLIENTE MODIFY COLUMN NOMBRES VARCHAR(200). ALTER TABLE CLIENTE EDIT COLUMN NOMBRES VARCHAR(200). ALTER TABLE CLIENTE ALTER COLUMN NOMBRES VARCHAR(200). ALTER TABLE CLIENTE COLUMN NOMBRES TYPE VARCHAR(200).

Comprueba si un campo se encuentra dentro de un determinado rango. LIKE. IN. EXISTS. BETWEEN.

Indica que la condición se cumplirá si la comparación es cierta para al menos un elemento del conjunto. EXISTS. ALL. IN. ANY.

Del siguiente diagrama: CREATE FUNCTION F_LIST_TEL () RETURNS INT AS BEGIN DECLARE @N INT SELECT @N = COUNT(*) FROM TELEFONO T INNER JOIN MODELO M ON T.IDMODELO=M.IDMODELO INNER JOIN MARCA MA ON M.IDMARCA=MA.IDMARCA END. CREATE FUNCTION F_LIST_TEL AS SELECT * FROM TELEFONO T INNER JOIN MODELO M ON T.IDMODELO=M.IDMODELO INNER JOIN MARCA MA ON M.IDMARCA=MA.IDMARCA. CREATE FUNCTION F_LIST_TEL () RETURNS CHAR(1) AS SELECT * FROM TELEFONO T INNER JOIN MODELO M ON T.IDMODELO=M.IDMODELO INNER JOIN MARCA MA ON M.IDMARCA=MA.IDMARCA. CREATE FUNCTION F_LIST_TEL () RETURNS TABLE RETURN( SELECT * FROM TELEFONO T INNER JOIN MODELO M ON T.IDMODELO=M.IDMODELO INNER JOIN MARCA MA ON M.IDMARCA=MA.IDMARCA).

La palabra reservada _________ permite realizar búsquedas en un rango de valores. LIKE. EXISTS. IN. BETWEEN.

SQL Server soporta cuatro clases principales de restricciones. ¿Cuál de los siguientes términos no es una restricción?. ISNULL. PRIMARY KEY. CHECK. FOREIGN KEY.

¿Cuál es la sentencia para eliminar una base de datos?. DROP DATABASE NOMBRE_BASE. DELETE DATABASE NOMBRE_BASE. REMOVE DATABASE NOMBRE_BASE. ERASE DATABASE NOMBRE_BASE.

Un índice _____ es aquel en el que no se permite que dos filas tengan el mismo valor de clave del índice. no clúster. clúster. único. final.

Devuelve el último ID generado para cualquier tabla de la sesión activa y en el ámbito actual. Es la función que más se utiliza. SCOPE_IDENTITY(). @@IDENTITY. @@FETCH_STATUS. IDENT_CURRENT('nombre_tabla').

¿Qué es el @@TRANCOUNT?. Es un contador de excepciones. Es un contador de filas del cursor. Es un contador de consultas. Es un contador de transacciones.

Del siguiente diagrama: Se desea crear un cursor para reducir el precio de las plantas en un 40% pero solo de aquellas que hayan sido utilizadas más de 2 veces en una venta y que su nombre no termine en una vocal. ¿Cuál de los siguientes enunciados es el correcto de acuerdo a la funcionalidad de los siguientes códigos? ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1: DECLARE @IDCOMIDA INT DECLARE @PRECIO REAL DECLARE CURSOR_COMIDA CURSOR FOR SELECT P.IDCOMIDA, P.PRECIO * 0.60 FROM COMIDA P LEFT JOIN VENTADETALLE V on P.IDCOMIDA = P.IDCOMIDA WHERE NOMBRE LIKE '%[^AEOIOU]' GROUP BY P.IDCOMIDA, P.PRECIO HAVING COUNT(*) >= 3 OPEN CURSOR_COMIDA FETCH CURSOR_COMIDA INTO @IDCOMIDA, @PRECIO WHILE @@FETCH_STATUS = 0 BEGIN UPDATE COMIDA SET PRECIO = @PRECIO WHERE IDCOMIDA = @IDCOMIDA FETCH CURSOR_COMIDA INTO @IDCOMIDA, @PRECIO END CLOSE CURSOR_COMIDA DEALLOCATE CURSOR_COMIDA ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2: DECLARE @IDCOMIDA INT, @PRECIO REAL DECLARE CURSOR_COMIDA CURSOR FOR SELECT P.IDCOMIDA, PRECIO * 0.40 FROM COMIDA P, VENTADETALLE V WHERE P.IDCOMIDA = V.IDCOMIDA AND NOMBRE NOT LIKE '%[AEOIOU]' GROUP BY P.IDCOMIDA, PRECIO HAVING COUNT(*) > 2 OPEN CURSOR_COMIDA FETCH NEXT FROM CURSOR_COMIDA INTO @IDCOMIDA, @PRECIO WHILE @@FETCH_STATUS = 0 BEGIN UPDATE COMIDA SET PRECIO -= @PRECIO WHERE IDCOMIDA = @IDCOMIDA FETCH NEXT FROM CURSOR_COMIDA INTO @IDCOMIDA, @PRECIO END CLOSE CURSOR_COMIDA DEALLOCATE CURSOR_COMIDA. Ningún código funciona. El código 2 funciona. Ambos códigos funcionan. El código 1 funciona.

Son instrucciones que nos ayudan a controlar la correcta ejecución de múltiples sentencias en una misma ejecución. Consultas. Excepciones. Transacciones. Funciones.

Se refiere a una estructura de control utilizada para el recorrido (y potencial procesamiento) de los registros del resultado de una consulta. Procedimiento almacenado. Transacciones. Trigger. Cursor.

Del siguiente diagrama: Se desea crear un cursor para reducir el precio de todos los teléfonos en un 40%, pero solo de aquellos que haya sido utilizado menos de 3 veces en una venta y que su imei empiece con una vocal. ¿Cuál de los siguientes enunciados es el correcto de acuerdo a la funcionalidad de los siguientes códigos? ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1: DECLARE @IDTELEFONO INT DECLARE @PRECIO REAL DECLARE CURSOR_TELEFONO CURSOR FOR SELECT T.IDTELEFONO, T.PRECIO * 0.60 FROM TELEFONO T LEFT JOIN VENTADETALLE P on P.IDTELEFONO = T.IDTELEFONO WHERE T.IMEI LIKE '[AEIOU]%' GROUP BY T.IDTELEFONO, T.PRECIO HAVING COUNT(*) < 3 OPEN CURSOR_TELEFONO FETCH CURSOR_TELEFONO INTO @IDTELEFONO, @PRECIO WHILE @@FETCH_STATUS = 0 BEGIN UPDATE TELEFONO SET PRECIO = @PRECIO WHERE IDTELEFONO = @IDTELEFONO FETCH NEXT FROM CURSOR_TELEFONO INTO @IDTELEFONO, @PRECIO END CLOSE CURSOR_TELEFONO DEALLOCATE CURSOR_TELEFONO ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2: DECLARE @IDTELEFONO INT, @PRECIO REAL DECLARE CURSOR_TELEFONO CURSOR FOR SELECT T.IDTELEFONO, T.PRECIO * 0.40 FROM TELEFONO T LEFT JOIN VENTADETALLE P on P.IDTELEFONO = T.IDTELEFONO AND UPPER(LEFT(IMEI, 1)) IN ('A', 'E', 'I', 'O', 'U') GROUP BY T.IDTELEFONO, T.PRECIO HAVING COUNT(*) <= 2 OPEN CURSOR_TELEFONO FETCH NEXT FROM CURSOR_TELEFONO INTO @IDTELEFONO, @PRECIO WHILE @@FETCH_STATUS = 0 BEGIN UPDATE TELEFONO SET PRECIO -= @PRECIO WHERE IDTELEFONO = @IDTELEFONO FETCH NEXT FROM CURSOR_TELEFONO INTO @IDTELEFONO, @PRECIO END CLOSE CURSOR_TELEFONO DEALLOCATE CURSOR_TELEFONO. Solo el código 1 funciona. Ningún código funciona. Solo el código 2 funciona. Ambos códigos funcionan.

Si ________ encuentra errores y debe cancelarse o revertirse, se borran todas las modificaciones de los datos. un cursor. una transacción. un procedimiento almacenado. una consulta.

Seleccionar el enunciado incorrecto. ¿Cuándo se producen errores en las transacciones?. Errores de hardware o transferencia de información. Datos inválidos de reglas de validación. Actualizaciones del sistema. Cortes fortuitos de energía.

Del siguiente diagrama: Se desea crear un procedimiento almacenado para crear un cliente o editar un cliente aplicando el uso de transacciones y manejo de excepciones. Se debe tomar en cuenta lo siguiente. 1. Se debe enviar todos los parámetros a excepción del id del cliente 2. El número de cédula ya existe entonces debe editar al cliente caso contrario crearlo. 3. Si la fecha de nacimiento es nula entonces debe tomar la fecha actual. ¿Cuál de las siguientes líneas de código contiene errores que evitan que funcione?. Línea 20. Línea 15. Línea 14. Línea 12.

Es una variable que nos permite recorrer un conjunto de resultados obtenidos a través de una sentencia SELECT fila por fila. Procedimiento almacenado. Trigger. Transacciones. Cursor.

El otro bloque es un _____ en donde se puede presentar mensajes o sentencias para identificar errores y dar por terminadas las instrucciones. TRY. BEGIN, END. CATCH. BEGIN TRANSACTION, COMMIT TRANSACTION.

Un cursor es _____ que nos permite ______ un conjunto de _____ obtenidos a través de una sentencia SELECT fila por fila. un método, recorrer, datos. un mecanismo, consultar, datos. una variable, recorrer, resultados. una variable, consultar, variables.

El prefijo ___ se utiliza para indicar que es una tabla temporal local. %. #. $. ##.

¿Cuántos índices no clúster se puede tener en una tabla?. 1000. 1099. 999. 9999.

¿Cuál es la sentencia para liberar un cursor?. CATCH. CLOSE. DEALLOCATE. FETCH NEXT INTO.

Crea un índice en el que el orden lógico de los valores de clave determina el orden físico de las filas correspondientes de la tabla. CLUSTERED, NONCLUSTERED. CLUSTERED. UNIQUE. NONCLUSTERED.

Es la indicación de que se produjo un error en el programa. Excepciones. Transacciones. Funciones. Consultas.

Graba físicamente todo lo actuado dentro de la transacción. RollBack Transaction. Commit Transaction. RAISERROR. Begin Transaction.

¿Cuál es la sentencia para cerrar un cursor?. DEALLOCATE. CLOSE. OPEN. CLOSE ALL.

Del siguiente diagrama: Se desea crear un cursor para reducir el precio de las películas en un 40% pero solo aquellos que su nombre empiece empiecen con una vocal y que no hayan sido utilizado más de 3 veces en una venta. ¿Cuál de las siguientes líneas de código contiene errores que evitan que funcione?. Línea 6. Línea 8. Línea 5. Línea 3.

En el bloque _____ se captura el error en caso de que se codifique una acción o solo presentar un mensaje. CATCH. TRY. BEGIN, END. BEGIN TRANSACTION, COMMIT TRANSACTION.

Es una unidad de trabajo compuesta por diversas tareas, cuyo resultado final debe ser que se ejecuten todas o ninguna de ellas. Excepciones. Consultas. Funciones. Transacciones.

Devuelve el número de línea en el que se ha producido el error. ERROR_LINE. ERROR_STATE. ERROR_MESSAGE. ERROR_NUMBER.

Se desea crear un procedimiento almacenado para crear un cliente o editar un comedor aplicando el uso de transacciones y manejo de excepciones. Se debe tomar en cuenta lo siguiente. 1. Se debe enviar todos los parámetros a excepción del id del comedor 2. El número de ruc ya existe entonces debe editar el comedor caso contrario crearlo. 3. Si el teléfono es nulo entonces debe tomar 9999999999. ¿Cuál de las siguientes líneas de código contiene errores que evitan que funcione?. Línea 14. Línea 16. Línea 12. Línea 20.

Del siguiente diagrama: Se desea crear un procedimiento almacenado con cursor para otorgar un descuento del en las ventas de los clientes debe aplicar el uso de transacciones y manejo de excepciones. Se debe tomar en cuenta lo siguiente. 1. Si el cliente no existe entonces no debe realizar ningún proceso. 2. Si la edad del cliente está entre un rango de 20 a 40 se le otorga un descuento del 30% caso contrario 15%. 3. Solo debe tomar en cuenta las ventas del año actual. ¿Cuál de los siguientes enunciados es el correcto de acuerdo a la funcionalidad de los siguientes códigos? --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1: CREATE OR ALTER PROCEDURE SP_DESCUENTOS @CEDULA VARCHAR(10) AS BEGIN TRY BEGIN TRANSACTION DECLARE @IDCLIENTE INT, @EDAD INT SELECT @IDCLIENTE, @EDAD = IDCLIENTE, DATEDIFF(YEAR, FECHA_NAC, GETDATE()) FROM CLIENTE WHERE CEDULA = @CEDULA IF @IDCLIENTE IS NOT NULL BEGIN DECLARE @IDVENTA INT DECLARE @DESCUENTO REAL = 0.15 IF @EDAD BETWEEN 20 AND 40 SET @DESCUENTO = 0.30 DECLARE CURSOR_VENTA CURSOR FOR SELECT IDVENTA FROM VENTA WHERE YEAR(FECHA_REGISTRO) = 2023 AND IDCLIENTE = @IDCLIENTE OPEN CURSOR_VENTA FETCH CURSOR_VENTA INTO @IDVENTA WHILE @@FETCH_STATUS = 0 BEGIN UPDATE VENTA SET DESCUENTO += TOTAL * @DESCUENTO, TOTAL -= TOTAL * @DESCUENTO WHERE IDVENTA = @IDVENTA FETCH NEXT FROM CURSOR_VENTA INTO @IDVENTA END CLOSE CURSOR_VENTA DEALLOCATE CURSOR_VENTA END COMMIT TRANSACTION END TRY BEGIN CATCH ROLLBACK TRANSACTION SELECT ERROR_MESSAGE() END CATCH --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2: CREATE PROC SP_DESCUENTOS @CEDULA VARCHAR(10) AS BEGIN TRY BEGIN TRANSACTION DECLARE @IDCLIENTE INT, @EDAD INT = 0 SELECT @IDCLIENTE = IDCLIENTE FROM CLIENTE WHERE CEDULA = @CEDULA SELECT @EDAD = YEAR(FECHA_NAC) - YEAR(GETDATE()) FROM CLIENTE WHERE CEDULA = @CEDULA IF @IDCLIENTE IS NOT NULL BEGIN DECLARE @IDVENTA INT DECLARE @DESCUENTO REAL DECLARE CURSOR_VENTA CURSOR FOR SELECT V.IDVENTA, CASE WHEN @EDAD BETWEEN 20 AND 40 THEN V.TOTAL *0.30 ELSE V.TOTAL *0.15 END FROM VENTA V WHERE YEAR(V.FECHA_REGISTRO) = 2023 AND V.IDCLIENTE = @IDCLIENTE OPEN CURSOR_VENTA FETCH CURSOR_VENTA INTO @IDVENTA, @DESCUENTO WHILE @@FETCH_STATUS = 0 BEGIN UPDATE VENTA SET DESCUENTO += @DESCUENTO, TOTAL -= @DESCUENTO WHERE IDVENTA = @IDVENTA FETCH CURSOR_VENTA INTO @IDVENTA, @DESCUENTO END CLOSE CURSOR_VENTA DEALLOCATE CURSOR_VENTA END COMMIT TRANSACTION END TRY BEGIN CATCH ROLLBACK TRANSACTION SELECT ERROR_MESSAGE() END CATCH. Ningún código funciona. Solo el código 2 funciona. Ambos códigos funcionan. Solo el código 1 funciona.

Las tablas temporales _____ son más ________. Las variables de la tabla también se almacenan en _____. globales, accesibles, tempdb. locales, eficientes, tempdb. locales, utilizadas, backup. globales, eficientes, tempdb.

¿Cuál concepto no está relacionado a los procedimientos almacenados?. Pueden ser reutilizados para ejecutar lógica repetitiva. Pueden contener instrucciones de control de flujo como IF y WHILE. Pueden recibir un número limitado de parámetros en base a los cuales realizar distintas. Mejoran el rendimiento al reducir el tráfico entre aplicación y base de datos.

¿Cuál es el comando para borrar una base de datos llamada Ventas?. REMOVE DATABASE Ventas. ERASE DATABASE Ventas. DROP DATABASE Ventas. DELETE DATABASE Ventas.

Son las encargadas de acciones como añadir, borrar y modificar los registros contenidos en las tablas. Consultas de unión. Consultas de definición. Consultas de acción. Consultas de selección.

Utilizado en la comparación de un modelo. LIKE. =. IN. BETWEEN.

Se desea obtener la placa y el número de venta_detalle (viajes) . ¿Cuál de los siguientes códigos es el correcto. B. A. C. D.

Disponible en las operaciones UPDATE y DELETE, están los valores anteriores a la ejecución de la actualización o borrado. Es decir, los datos que serán borrados. selected. deleted. inserted. updated.

Denunciar Test