Mrs. Nazario
![]() |
![]() |
![]() |
Título del Test:![]() Mrs. Nazario Descripción: Mrs. Nazario |




Comentarios |
---|
NO HAY REGISTROS |
Comprueba si un campo se encuentra dentro de un determinado rango. EXISTS. BETWEEN. LIKE. IN. La palabra reservada _________ permite realizar búsquedas en un rango de valores. EXISTS. IN. BETWEEN. LIKE. La palabra reservada _____ permite realizar búsqueda que coincida con una lista de valores. EXISTS. LIKE. IN. BETWEEN. Relaciona dos tablas e incluye en una tercera sólo los registros que satisfacen la condición del Join. FULL JOINS. CROSS JOINS. INNER JOINS. OUTER JOINS. La palabra clave ______ permite evaluar si el valor de una columna no se encuentra en el conjunto de valores retornados por una subconsulta. NOT IN. ALL. EXISTS. ANY. Evalúa un conjunto de condiciones y retorna como resultado una expresión. ANY. CASE. IN. EXISTS. Se desea presentar el nombre del cliente y la edad, ¿Cual consulta será la correcta?. SELECT NOMBRES, DATEDIFF(FECHA_NAC, YEAR, GETDATE()) FROM CLIENTE. SELECT NOMBRES, 2024- YEAR(C.FECHA_NACIMIENTO) FROM CLIENTE C. SELECT NOMBRES, YEAR(GETDATE())- YEAR(C.FECHA_NAC) FROM CLIENTE. SELECT NOMBRES, DATEDIFF(YEAR, FECHA_NAC, GETDATE()) FROM CLIENTE. Deseo obtener todas los servicios que no hayan sido utilizados en una venta. ¿Cuál consulta será la correcta?. SELECT C.* FROM COMIDA C LEFT JOIN VENTADETALLE D ON C.IDCOMIDA = D.IDCOMIDA WHERE D.IDCOMIDA IS NULL AND D.IDCOMIDA = 0. SELECT * FROM COMIDA WHERE NOT EXISTS (SELECT 1 FROM VENTADETALLE D WHERE D.IDCOMIDA = C.IDCOMIDA). SELECT S.* FROM SERVICIO S LEFT JOIN DETALLEPLANILLA DP ON S.IDSERVICIO = DP.IDSERVICIO WHERE DP.IDSERVICIO IS NULL. SELECT S.* FROM SERVICIO S LEFT JOIN VENTADETALLE DP ON S.IDSERVICIO = DP.IDSERVICIO WHERE DP.IDSERVICIO IS NULL. 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. Procedimientos Almacenados. Funciones. Triggers. ¿Cuál de los siguientes enunciados es falso con respecto a las funciones en SQLSERVER?. La principal ventaja de una función es que esta puede reutilizarse en código. Solo se puede anidar hasta 32 funciones al momento de ejecutar. No pueden insertar datos en otra tabla con la instrucción INTO ejemplo. Puede invocar procedimientos dentro de una función. ¿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. ¿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. Es obligatorio que estén escritos en SQL (Java, PL/SQL, Transact SQL). Se ejecuta en el servidor. Encapsulan reglas de negocio fuertemente relacionadas con los datos de la BD y sin interacción con el usuario. 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. selected. deleted. updated. inserted. ¿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. Relacionar correctamente cada concepto con su extensión correspondiente. 1A, 2B, 3C. 1A, 2C, 3B. 1B, 2B, 3C. 1B, 2C, 3B. ¿Cuál es la sentencia para eliminar una base de datos?. DELETE DATABASE NOMBRE_BASE. REMOVE DATABASE NOMBRE_BASE. DROP DATABASE NOMBRE_BASE. ERASE DATABASE NOMBRE_BASE. 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 EDIT COLUMN NOMBRES VARCHAR(200). ALTER TABLE CLIENTE COLUMN NOMBRES TYPE VARCHAR(200). ALTER TABLE CLIENTE ALTER COLUMN NOMBRES VARCHAR(200). ALTER TABLE CLIENTE MODIFY COLUMN NOMBRES VARCHAR(200). 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?. Solo el procedimiento 1 funciona. Los 2 procedimientos no funcionan. Solo el procedimiento 2 funciona. Los 2 procedimientos funcionan. La extensión recomendada para el archivo físico es mdf (master data file). Archivos de datos temporales. Archivos de Datos Primarios. Archivos Log. Archivos de Datos Secundarios. Este tipo de archivos contiene la información necesaria para el proceso de recuperación de la base de datos. Archivos Log. Archivos de datos temporales. Archivos de Datos Secundarios. Archivos de Datos Primarios. 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áles 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 = 1Mb, FILEGROWTH= 20Mb). 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 = 10Mb, FILEGROWTH= 1Mb). SQL Server soporta cuatro clases principales de restricciones. ¿Cuál de los siguientes términos no es una restricción?. FOREIGN KEY. PRIMARY KEY. ISNULL. CHECK. Una tabla usualmente tiene una columna (o una combinación de columnas) que identifica unívocamente cada fila de la tabla. Restricciones Primary Key. Restricciones Check. Restricciones Unique. Restricciones Foreign Key. Una clave ajena es una columna o combinación de columnas usadas para establecer y asegurar una conexión entre dos tablas. Restricciones Primary Key. Restricciones Foreign Key. Restricciones Unique. Restricciones Check. Indica que la condición se cumplirá si la comparación es cierta para al menos un elemento del conjunto. ALL. EXISTS. ANY. IN. Deseo obtener el listado el id del cliente, nombres, sexo transformado a texto (1=hombre, 2=mujer) y la edad del cliente. ¿Cuál de las siguientes consultas es la correcta?. 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. SELECT IDCLIENTE, NOMBRES, CASE GENERO WHEN 1 THEN 'HOMBRE' ELSE 'MUJER' END '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' WHEN 2 THEN 'MUJER' END CASE 'SEXO', DATEDIFF(YEAR, FECHA_NAC, GETDATE()) FROM CLIENTE. 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. Ninguna consulta funciona. Solo la consulta 2 funciona. Las 2 consultas funcionan. ¿Cuál es la sentencia para cerrar un cursor?. CLOSE ALL. CLOSE. DEALLOCATE. OPEN. Se refiere a una estructura de control utilizada para el recorrido (y potencial procesamiento) de los registros del resultado de una consulta. Cursor. Transacciones. Procedimiento almacenado. Trigger. Es una unidad de trabajo compuesta por diversas tareas, cuyo resultado final debe ser que se ejecuten todas o ninguna de ellas. Excepciones. Funciones. Consultas. Transacciones. El otro bloque es un _____ en donde se puede presentar mensajes o sentencias para identificar errores y dar por terminadas las instrucciones. CATCH. BEGIN, END. BEGIN TRANSACTION, COMMIT TRANSACTION. TRY. Es la indicación de que se produjo un error en el programa. Excepciones. Transacciones. Consultas. Funciones. 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. UNIQUE. CLUSTERED, NONCLUSTERED. CLUSTERED. NONCLUSTERED. Las tablas temporales _____ son más ________. Las variables de la tabla también se almacenan en _____. globales, accesibles, tempdb. globales, eficientes, tempdb. locales, utilizadas, backup. locales, eficientes, tempdb. En el bloque _____ se captura el error en caso de que se codifique una acción o solo presentar un mensaje. CATCH. BEGIN TRANSACTION, COMMIT TRANSACTION. BEGIN, END. TRY. 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 teléfono 2 Si el teléfono es nulo entonces debe tomar 9999999999. 3 Si el número o código del cliente están repetidos entonces debe editar el registro. ¿Cuál de las siguientes líneas de código contiene errores que evitan que funcione? 1 CREATE OR ALTER PROCEDURE SP_INSERTAR_CLIENTE @CODIGO VARCHAR(8), @NOMBRES VARCHAR(100), @CEDULA VARCHAR(10), @TELEFONO VARCHAR(10), @FECHA_NAC DATE, @GENERO INT 2 AS 3 BEGIN TRY 4 BEGIN TRANSACTION 5 SELECT @TELEFONO = IIF(@TELEFONO IS NULL, '9999999999', @TELEFONO) 6 DECLARE @IDCLIENTE INT = 0 SELECT TOP 1 @IDCLIENTE = IDCLIENTE FROM CLIENTE WHERE CEDULA = @CEDULA OR CODIGO = @CODIGO IF @IDCLIENTE IS NULL 7 BEGIN 8 SELECT @IDCLIENTE = ISNULL(MAX(IDCLIENTE)+1, 1) FROM CLIENTE INSERT INTO CLIENTE VALUES (@IDCLIENTE, @CODIGO, @NOMBRES, @CEDULA, @TELEFONO, @FECHA_NAC, @GENERO) 9 END 10 ELSE 11 BEGIN 12 UPDATE CLIENTE SET CODIGO = @CODIGO, NOMBRES = @NOMBRES, CEDULA = @CEDULA, TELEFONO = @TELEFONO, FECHA_NAC = FECHA_NAC, GENERO = @GENERO WHERE IDCLIENTE = @IDCLIENTE 13 END 14 COMMIT TRANSACTION 15 END TRY 16 BEGIN CATCH 17 ROLLBACK TRANSACTION 18 SELECT ERROR_MESSAGE() 19 END CATCH. Línea 5. Línea 8. Línea 6. Línea 3. Se desea crear un cursor para reducir el precio de los teléfonos en un 40% pero solo de aquellas que hayan sido utilizadas más de 3 veces en una venta y que el nombre de su marca no termine en una vocal. ¿Cuál de los siguientes enunciados es el correcto de acuerdo a la funcionalidad de los siguientes códigos?. Ningún código funciona. Solo el código 1 funciona. Ambos códigos funcionan. Solo el código 2 funciona. Es una variable que nos permite recorrer un conjunto de resultados obtenidos a través de una sentencia SELECT fila por fila. Trigger. Cursor. Procedimiento almacenado. Transacciones. Son instrucciones que nos ayudan a controlar la correcta ejecución de múltiples sentencias en una misma ejecución. Funciones. Transacciones. Excepciones. Consultas. Si ________ encuentra errores y debe cancelarse o revertirse, se borran todas las modificaciones de los datos. una consulta. una transacción. un cursor. un procedimiento almacenado. En el bloque _____ se captura el error en caso de que se codifique una acción o solo presentar un mensaje. CATCH. BEGIN TRANSACTION, COMMIT TRANSACTION. BEGIN, END. TRY. ¿Qué es el @@TRANCOUNT?. Es un contador de filas del cursor. Es un contador de excepciones. Es un contador de consultas. Es un contador de transacciones. El prefijo ___ se utiliza para indicar que es una tabla temporal local. #. %. ##. $. ¿Cuál es la sentencia para liberar un cursor?. DEALLOCATE. CATCH. FETCH NEXT INTO. CLOSE. 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 o el código 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? 1. CREATE PROC SP_CLIENTE 2. @NOMBRES VARCHAR(100), 3. @CEDULA VARCHAR(10), 4. @TELEFONO VARCHAR(10), 5. @FECHA_NAC DATE, 6. @GENERO INT 7. AS 8. BEGIN TRY 9. BEGIN TRANSACTION 10. DECLARE @IDCLIENTE INT = 0 11. SELECT @IDCLIENTE = IDCLIENTE FROM CLIENTE WHERE CEDULA = @CEDULA 12. IF @IDCLIENTE IS NULL 13. BEGIN 14. SELECT @FECHA_NAC = IIF(@FECHA_NAC IS NULL, GETDATE(), @FECHA_NAC) 15. SELECT @IDCLIENTE = ISNULL(MAX(IDCLIENTE),0) + 1 FROM CLIENTE 16. INSERT INTO CLIENTE VALUES(@IDCLIENTE,@NOMBRES,@CEDULA,@TELEFONO,@FECHA_NAC,@GENERO) 17. END 18. ELSE 19. BEGIN 20. UPDATE CLIENTE SET NOMBRES = @NOMBRES, TELEFONO = @TELEFONO, FECHA_NAC = @FECHA_NAC, GENERO = GENERO WHERE CEDULA = @CEDULA 21. END 22. COMMIT TRANSACTION 23. END TRY 24. BEGIN CATCH 25. ROLLBACK TRANSACTION 26. SELECT ERROR_MESSAGE() 27. END CATCH. Línea 20. Línea 14. Línea 15. Línea 12. Se desea crear un cursor para reducir el precio de todos los libros en un 40%, pero solo de aquellos que haya sido utilizado menos de 3 veces en una venta y que su SBN empiece con una vocal. ¿Cuál de los siguientes enunciados es el correcto de acuerdo a la funcionalidad de los siguientes códigos?. Ningún código funciona. Ambos códigos funcionan. Solo el código 1 funciona. Solo el código 2 funciona. Graba físicamente todo lo actuado dentro de la transacción. Commit Transaction. RollBack Transaction. Begin Transaction. RAISERROR. 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. Devuelve el número de línea en el que se ha producido el error. ERROR_NUMBER. ERROR_STATE. ERROR_MESSAGE. ERROR_LINE. Un índice _____ es aquel en el que no se permite que dos filas tengan el mismo valor de clave del índice. único. final. no clúster. clúster. 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. IDENT_CURRENT('nombre_tabla'). @@FETCH_STATUS. @@IDENTITY. SCOPE_IDENTITY(). ¿Cuántos índices no clúster se puede tener en una tabla?. 9999. 1099. 1000. 999. 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. A Si el cliente no existe entonces no debe realizar ningún proceso. B Si la edad del cliente está entre un rango de 20 a 40 se le otorga un descuento del 30% caso contrario 15%. C 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?. Ningún código funciona. Ambos códigos funcionan. Solo el código 1 funciona. Solo el código 2 funciona. Se desea crear un cursor para reducir el precio de los productos en un 40% pero solo aquellos que su marca empiece con una vocal y que no haya 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? DECLARE @IDPRODUCTO INT DECLARE @PRECIO REAL DECLARE CURSOR_PRODUCTO CURSOR FOR SELECT P.IDPRODUCTO, P.PRECIO * 0.60 FROM PRODUCTO P LEFT JOIN VENTADETALLE D ON D.IDPRODUCTO = P.IDPRODUCTO LEFT JOIN MARCA M ON M.IDMARCA = P.IDMARCA WHERE M.NOMBRE NOT LIKE '[^AEIOU]%' GROUP BY P.IDPRODUCTO, PRECIO HAVING COUNT(*) <= 2 OPEN CURSOR_PRODUCTO FETCH NEXT FROM CURSOR_PRODUCTO INTO @IDPRODUCTO, @PRECIO WHILE @@FETCH_STATUS = 0 BEGIN UPDATE PRODUCTO SET PRECIO = @PRECIO WHERE IDPRODUCTO = @IDPRODUCTO FETCH CURSOR_PRODUCTO INTO @IDPRODUCTO, @PRECIO END CLOSE CURSOR_PRODUCTO DEALLOCATE CURSOR_PRODUCTO. Línea 5. Línea 8. Línea 9. Línea 3. Es una clase especial de procedimiento almacenado que se ejecuta automáticamente cuando se produce un evento en el servidor de bases de datos. Triggers. Procedimientos Almacenados. Cursores. Funciones. Se desea crear un procedimiento almacenado que tenga como parámetro fecha de inicio, fecha fin y consultar todas las ventas que su fecha de registro se encuentre entre estos 2 rangos de fecha, si la fecha fin llega nula debe entonces consultar por la fecha actual de hoy. ¿Cuál de las siguientes afirmaciones será la correcta respecto a estos 2 códigos?. Solo la consulta 1 funciona. Ninguna consulta funciona. Solo la consulta 2 funciona. Las 2 consultas funcionan. Se desea consultar cual es el tipo de premio que más dinero ha facturado en las ventas de boletos. ¿Cuál de los siguientes códigos es el correcto?. SELECT TOP 1 DESCRIPCION, SUM(TOTAL) 'TOTAL' FROM VENTA V JOIN PREMIO P ON V.IDPREMIO P.IDPREMIO JOIN TIPOPREMIO TP ON P.IDTIPOPREMIO TP.IDTIPOPREMIO GROUP BY DESCRIPCION ORDER BY 'TOTAL' DESC’. SELECT TOP 1 TP.DESCRIPCION, SUM(V.TOTAL) AS TOTAL FROM VENTA V JOIN PREMIO P ON V.IDPREMIO = P.IDPREMIO JOIN TIPOPREMIO TP ON P.IDTIPOPREMIO = TP.IDTIPOPREMIO ORDER BY SUM(V.TOTAL) DESC;. SELECT TOP 1 TP.DESCRIPCION, SUM(V.TOTAL) AS TOTAL FROM VENTA V JOIN PREMIO P ON V.IDPREMIO = P.IDPREMIO JOIN TIPOPREMIO TP ON P.IDTIPOPREMIO = TP.IDTIPOPREMIO GROUP BY V.IDPREMIO ORDER BY TOTAL DESC;. SELECT TOP 1 TP.DESCRIPCION, SUM(V.TOTAL) AS TOTAL FROM VENTA V JOIN PREMIO P ON V.IDPREMIO = P.IDPREMIO JOIN TIPOPREMIO TP ON P.IDTIPOPREMIO = TP.IDTIPOPREMIO GROUP BY TP.DESCRIPCION ORDER BY 'TOTAL' DESC;. Cuando se elimina una base de datos, todos sus archivos y datos son eliminados ________. en la nube. físicamente. localmente. temporalmente. Produce un set de registros que incluye todas las combinaciones de todos los registros de las tablas que participan en el join. Cross Joins. Inners Joins. Full Joins. Outer Joins. ¿Cuál concepto no está relacionado a los procedimientos almacenados?. Permiten encapsular lógica de negocio para ser reutilizada múltiples veces sin repetir código. Pueden mejorar el rendimiento al evitar múltiples viajes entre la aplicación y la base de datos. Se pueden programar con estructuras de control como IF, WHILE y CASE. Pueden recibir un número limitado de parámetros en base a los cuales realizar distintas acciones. Se desea consultar cuál es el autobús que más utiliza la gente en la venta de boletos. SELECT TOP 1 A.PLACA 'AUTOBUS', COUNT(*) 'CANT.' FROM AUTOBUS A, VENTADETALLE D WHERE D.IDAUTOBUS = A.IDAUTOBUS GROUP BY A.PLACA ORDER BY 'CANT.' DESC. SELECT TOP 1 A.PLACA AS AUTOBUS, COUNT(*) AS CANT FROM AUTOBUS A, VENTADETALLE D WHERE D.IDAUTOBUS = A.IDAUTOBUS GROUP BY A.PLACA ORDER BY 'CANT' DESC;. SELECT TOP 1 A.PLACA AS AUTOBUS, COUNT(*) AS CANT FROM AUTOBUS A JOIN VENTADETALLE D ON D.IDAUTOBUS = A.IDAUTOBUS ORDER BY CANT DESC;. SELECT TOP 1 A.PLACA AS AUTOBUS, COUNT(*) AS CANT FROM AUTOBUS A JOIN VENTADETALLE D ON D.IDAUTOBUS = A.IDAUTOBUS GROUP BY A.IDAUTOBUS ORDER BY CANT DESC;. Una vez eliminada una base no podrá recuperar la información a menos que haya hecho __________. una copia de seguridad. una replicación de datos. una reestructuración del modelo. una actualización del sistema. Se utiliza para el procesamiento individual de las filas devueltas por el sistema gestor de base de datos para una consulta. Cursor. Transacciones. Procedimiento almacenado. Trigger. Seleccionar el orden correcto de la sintaxis de un cursor. DECLARE, OPEN, FETCH ... INTO, CLOSE, DEALLOCATE. DECLARE, FETCH , OPEN ... INTO, CLOSE, DEALLOCAT. OPEN, DECLARE, FECTH ... INTO, CLOS, DEALLOCATE. FECTH , OPEN, DECLARE ... INTO, CLOS, DEALLOCATE. Unir correctamente el concepto con su correcta definición. 1B, 2A, 3C. 1B, 2C, 3A. 1C, 2A, 3B. 1C, 2B, 3A. Es una unidad de trabajo compuesta por diversas tareas, cuyo resultado final debe ser que se ejecuten todas o ninguna de ellas. Excepciones. Funciones. Consultas. Transacciones. ¿Cuándo se producen errores en las transacciones? Seleccione la respuesta incorrecta. Actualizaciones del idioma u hora del computador. Caídas del sistema durante la ejecución. Pérdida de conexión con el servidor de base de datos. Violación de restricciones de integridad (como claves primarias o foráneas). ¿Cuál de las siguientes afirmaciones es falsa con relación a los índices?. Las columnas que se utilizan en un índice único se deben establecer como NULL. Los índices mejoran el rendimiento de las consultas al acelerar la búsqueda de datos. Un índice puede crearse sobre una o varias columnas de una tabla. La creación de índices implica un mayor consumo de espacio en disco. Un índice _____ es aquel en el que no se permite que dos ____ tengan el mismo valor de clave del _____. único, filas, índice. compuesto, registros, sistema. primario, columnas, motor. lógico, tablas, esquema. ¿Cuántos índices no clúster se pueden tener en una tabla?. En cada tabla puede tener hasta 999 índices no clúster, independientemente de cómo se creen. En cada tabla se puede tener solo 1 índice no clúster, porque solo se permite un índice principal. En cada tabla se pueden tener hasta 255 índices no clúster, limitados por el sistema operativo. No hay límite para la cantidad de índices no clúster que se pueden crear en una tabla. Hay varios objetos temporales en SQL Server. ¿Cuáles son?. Tablas temporales locales y globales. No existen estas clasificaciones en SQL Server para tablas temporales. Tablas temporales físicas y virtuales. Tablas temporales estáticas y dinámicas. Se puede utilizar la instrucción ______ para retirar permisos concedidos. REVOKE. DENY. GRANT. DROP. Simplemente verifica si la consulta interna arroja alguna fila. EXISTS. NOT EXISTS. ISNULL. BETWEEN. ¿Cuáles de los siguientes roles pertenecen a nivel de base de datos?. A, D. A, C. A, B. A. ¿Cuáles de los siguientes roles pertenecen a nivel de servidor?. B, C. B, A. B, D. D, A. Se desea crear un procedimiento almacenado aplicando el manejo de excepciones para poder registrar una categoría, se debe enviar solo el nombre de la categoría ¿Cuál de los siguientes fragmentos de código será el correcto?. CREATE PROC SP_INSERTAR_CATEGORIA @NOMBRE VARCHAR(100) AS BEGIN TRY BEGIN TRAN INSERT INTO CATEGORIA VALUES((SELECT ISNULL(MAX(IDCATEGORIA)+1, 1) FROM CATEGORIA), @NOMBRE) COMMIT TRANSACTION END TRY BEGIN CATCH ROLLBACK TRAN SELECT ERROR_MESSAGE() END CATCH. CREATE PROC SP_INSERTAR_CATEGORIA @NOMBRE VARCHAR(100) AS BEGIN TRY BEGIN TRAN INSERT INTO CATEGORIA VALUES((SELECT ISNULL(MAX(IDCATEGORIA)+1, 1) FROM CATEGORIA), @NOMBRE) END TRY BEGIN CATCH ROLLBACK TRAN SELECT ERROR_MESSAGE() END CATCH. CREATE PROC SP_INSERTAR_CATEGORIA @NOMBRE VARCHAR(100) AS BEGIN TRY BEGIN TRAN INSERT INTO CATEGORIA VALUES(SELECT ISNULL(MAX(IDCATEGORIA)+1, 1) FROM CATEGORIA, @NOMBRE) COMMIT TRANSACTION END TRY BEGIN CATCH ROLLBACK TRAN SELECT ERROR_MESSAGE() END CATCH. CREATE PROC SP_INSERTAR_CATEGORIA @NOMBRE VARCHAR(100) AS BEGIN TRY INSERT INTO CATEGORIA VALUES((SELECT ISNULL(MAX(IDCATEGORIA)+1, 1) FROM CATEGORIA), @NOMBRE) COMMIT END TRY BEGIN CATCH ROLLBACK SELECT ERROR_MESSAGE() END CATCH. Se desea crear un procedimiento con el manejo de transacciones y excepciones para crear un producto. Se debe tomar en cuenta lo siguiente. 1. Solo se debe enviar el nombre del producto, nombre de la categoría, pvp y stock. 2. El id del producto se debe generar. 3. Si la categoría no existe se la debe crear en ese momento. El id de la categoría se genera automáticamente, está declarado como identity el PK. 4. Se debe validar que no se ingresen nombres de productos repetidos. 5. No se puede ingresar números negativos en el stock. 6. El precio solo debe estar en un rango de 1 a 10. ¿Cuál de las siguientes líneas de código serán incorrectas que impedirían que mi código funcione correctamente?. 8. 5. 12. 20. Se desea crear un cursor para poder actualizar el stock de los productos en 10 unidades más, pero con la condición que su nombre empiece con una vocal. ¿Cuál de los siguientes códigos será el correcto?. DECLARE @IDPRODUCTO INT DECLARE C_PRODUCTOS CURSOR FOR SELECT IDPRODUCTO FROM PRODUCTO P WHERE NOMBRE LIKE '[A_E_I_O_U]%' OPEN C_PRODUCTOS FETCH C_PRODUCTOS INTO @IDPRODUCTO WHILE @@FETCH_STATUS = 0 BEGIN UPDATE PRODUCTO SET STOCK=STOCK+10 WHERE IDPRODUCTO IN (@IDPRODUCTO) FETCH C_PRODUCTOS INTO @IDPRODUCTO END CLOSE C_PRODUCTOS DEALLOCATE C_PRODUCTOS. DECLARE @IDPRODUCTO INT DECLARE C_PRODUCTOS CURSOR FOR SELECT IDPRODUCTO FROM PRODUCTO P WHERE NOMBRE LIKE '[A_E_I_O_U]%' OPEN C_PRODUCTOS FETCH C_PRODUCTOS INTO @IDPRODUCTO WHILE @@FETCH_STATUS = -1 BEGIN UPDATE PRODUCTO SET STOCK=STOCK+10 WHERE IDPRODUCTO IN (@IDPRODUCTO) FETCH C_PRODUCTOS INTO @IDPRODUCTO END CLOSE C_PRODUCTOS DEALLOCATE C_PRODUCTOS. DECLARE @IDPRODUCTO INT DECLARE C_PRODUCTOS CURSOR FOR SELECT IDPRODUCTO FROM PRODUCTO P WHERE NOMBRE LIKE '[AEIOU]%' OPEN C_PRODUCTOS FETCH C_PRODUCTOS INTO @IDPRODUCTO WHILE @@FETCH_STATUS = 0 BEGIN UPDATE PRODUCTO SET STOCK=STOCK+10 WHERE IDPRODUCTO IN (@IDPRODUCTO) FETCH C_PRODUCTOS INTO @IDPRODUCTO END CLOSE C_PRODUCTOS DEALLOCATE C_PRODUCTOS. DECLARE @IDPRODUCTO INT DECLARE C_PRODUCTOS CURSOR FOR SELECT IDPRODUCTO FROM PRODUCTO P WHERE NOMBRE LIKE '[A_E_I_O_U]%' OPEN C_PRODUCTOS FETCH C_PRODUCTOS INTO @IDPRODUCTO WHILE @@FETCH_STATUS = 0 BEGIN UPDATE PRODUCTO SET STOCK=STOCK+10 WHERE IDPRODUCTO = (@IDPRODUCTO) FETCH C_PRODUCTOS INTO @IDPRODUCTO END CLOSE C_PRODUCTOS DEALLOCATE C_PRODUCTOS. Se desea crear un cursor para otorgar un descuento del 50% a las facturas de los clientes que cumplan con las siguientes condiciones. 1. Su edad esté en un rango de 20-40 2. Sus nombres que no empiecen por a, b, c ni d 3. Que al menos en cada factura haya comprado más de 10 productos. ¿Cuáles de las siguientes líneas de código están incorrectas en el cursor?. 5, 7. 7, 4. 5, 12. 8, 7. Se desea crear un cursor para registrar ventas aleatorias con todos los clientes, se debe tomar en cuenta lo siguiente para la creación del cursor. 1. El id de la venta y detalle de la venta no se lo debe generar por es identity. 2. Se debe generar los productos de forma aleatoria y la cantidad de productos a ingresar será solo entre un rango del 1 al 5. 3. La cantidad del detalle será siempre de 3 4. Se debe calcular los totales al final de la factura. ¿Cuál de los siguientes cursores será el correcto?. DECLARE @IDVENTA INT DECLARE @IDCLIENTE INT DECLARE @IDPRODUCTO INT DECLARE @PVP REAL DECLARE @CANT INT DECLARE @SUBTOTAL REAL DECLARE C_CLIENTES CURSOR FOR SELECT IDCLIENTE FROM CLIENTE OPEN C_CLIENTES FETCH C_CLIENTES INTO @IDCLIENTE WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO VENTA VALUES (GETDATE(),1,@IDCLIENTE , 0.00,0.00,0.00,0.00,0.00) SELECT @IDVENTA = IDENT_CURRENT('VENTA') SELECT @CANT = ROUND((5 - 1) * RAND() + 1, 0) DECLARE C_PRODUCTOS CURSOR FOR SELECT TOP SELECT @CANT IDPRODUCTO, PVP FROM PRODUCTO ORDER BY NEWID() OPEN C_PRODUCTOS FETCH C_PRODUCTOS INTO @IDPRODUCTO, @PVP WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO DETALLE VALUES(@IDVENTA, @IDPRODUCTO, 3, 3*@PVP) FETCH C_PRODUCTOS INTO @IDPRODUCTO, @PVP END CLOSE C_PRODUCTOS DEALLOCATE C_PRODUCTOS SELECT @SUBTOTAL = SUM(SUBTOTAL) FROM DETALLE WHERE IDVENTA = @IDVENTA UPDATE VENTA SET SUBTOTAL = @SUBTOTAL, IVA = @SUBTOTAL * 0.12, TOTAL = @SUBTOTAL + (@SUBTOTAL*0.12) WHERE IDVENTA = @IDVENTA FETCH C_CLIENTES INTO @IDCLIENTE END CLOSE C_CLIENTES DEALLOCATE C_CLIENTES. DECLARE @IDVENTA INT DECLARE @IDCLIENTE INT DECLARE @IDPRODUCTO INT DECLARE @PVP REAL DECLARE @CANT INT DECLARE @SUBTOTAL REAL DECLARE C_CLIENTES CURSOR FOR SELECT IDCLIENTE FROM CLIENTE OPEN C_CLIENTES FETCH C_CLIENTES INTO @IDCLIENTE WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO VENTA VALUES (GETDATE(),1,@IDCLIENTE , 0.00,0.00,0.00,0.00,0.00) SELECT @IDVENTA = SCOPE_IDENTITY() SELECT @CANT = ROUND((5 - 1) * RAND() + 1, 0) DECLARE C_PRODUCTOS CURSOR FOR SELECT TOP SELECT @CANT IDPRODUCTO, PVP FROM PRODUCTO ORDER BY NEWID() OPEN C_PRODUCTOS FETCH C_PRODUCTOS INTO @IDPRODUCTO, @PVP WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO DETALLE VALUES(@IDVENTA, @IDPRODUCTO, 3, 3*@PVP) FETCH C_PRODUCTOS INTO @IDPRODUCTO, @PVP END CLOSE C_PRODUCTOS DEALLOCATE C_PRODUCTOS SELECT @SUBTOTAL = SUM(SUBTOTAL) FROM DETALLE WHERE IDVENTA = @IDVENTA UPDATE VENTA SET SUBTOTAL = @SUBTOTAL, IVA = @SUBTOTAL * 0.12, TOTAL = @SUBTOTAL + (@SUBTOTAL*0.12) WHERE IDVENTA = @IDVENTA FETCH C_CLIENTES INTO @IDCLIENTE END CLOSE C_CLIENTES DEALLOCATE C_CLIENTES. Se desea crear un procedimiento almacenado para poder retornar la cantidad de productos que ha comprado un determinado cliente, se debe enviar el número de cédula, fecha de inicio y finalización del producto. ¿Cuál de las siguientes líneas de código son incorrectas?. 6. 8. 10. 12. Se desea crear un procedimiento que retorne la cantidad de días que existen entre dos rangos de fechas que se envían como parámetro sin contar los fines de semana. ¿Cuáles de las siguientes líneas están mal que evitarían que funcione?. 10,15. 10,11. 15,6. 15,4. Se desea crear un índice único no agrupado para la tabla categoría para el campo nombre, ¿Cuál de los siguientes índices será el correcto?. CREATE UNIQUE NONCLUSTERED INDEX I_CATEGORIA_NOMBRE ON CATEGORIA(NOMBRE);. CREATE NONCLUSTERED INDEX I_CATEGORIA_NOMBRE ON CATEGORIA(NOMBRE) UNIQUE;. CREATE UNIQUE CLUSTERED INDEX I_CATEGORIA_NOMBRE ON CATEGORIA(NOMBRE);. CREATE INDEX I_CATEGORIA_NOMBRE ON CATEGORIA(NOMBRE) UNIQUE NONCLUSTERED;. Se necesita denegar el permiso SELECT de la tabla PRODUCTO para el usuario obermeoa. ¿Cuál de los siguientes códigos es el correcto?. DENY SELECT ON OBJECT::PRODUCTO TO obermeoa. REVOKE SELECT ON PRODUCTO TO obermeoa. DENY SELECT ON TABLE::PRODUCTO FROM obermeoa. DENY SELECT PRODUCTO TO obermeoa. Se necesita revocar el permiso INSERT de la tabla PRODUCTO para el usuario obermeoa. ¿Cuál de los siguientes códigos es el correcto?. REVOKE INSERT ON OBJECT::PRODUCTO TO obermeoa. DENY INSERT ON OBJECT::PRODUCTO TO obermeoa. REVOKE INSERT ON PRODUCTO FROM obermeoa. REVOKE INSERT PRODUCTO TO obermeoa. Si inserto un registro de una categoría y deseo obtener el id que inserte cual seria la opción correcta. SELECT @IDCATEGORIA = @@IDENTITY. SELECT @IDCATEGORIA = IDENT_CURRENT('CATEGORIA'). SELECT @IDCATEGORIA = SCOPE_IDENTITY(). SELECT MAX(IDCATEGORIA) FROM CATEGORIA. El siguiente cursor obtiene todos los productos que comienzan con una vocal y por cada iteración se le actualiza su stock por un número aleatorio entre 1 a 20, ¿Cuál de las siguientes líneas contienen errores?. 3, 9. 3, 6. 9, 6. 6, 1. Es un programa ejecutado a través de una sentencia SQL. Archivos de Datos Primarios. Archivos Log. Archivos de Datos Secundarios. Archivos Fisicos. ¿Cuál de los siguientes enunciados es incorrecto con respecto a los procedimientos almacenados?. Debe siempre recibir parámetros en base a los cuales realizar distintas acciones. Los procedimientos almacenados deben siempre recibir parámetros en base a los cuales realizar distintas acciones. Un procedimiento almacenado puede modificar datos sin necesidad de devolver resultados. Los procedimientos almacenados pueden ser ejecutados desde aplicaciones externas a la base de datos. ¿Cuántos tipos de funciones existen?. Funciones Escalares, Funciones con Valor de Tablas y Funciones Integradas. Funciones escalares, funciones con valor de tabla, funciones integradas y procedimientos almacenados. Funciones escalares y procedimientos almacenados. Solo funciones integradas. Es una clase especial de procedimiento almacenado que se ejecuta automáticamente cuando se produce un evento en el servidor de bases de datos. Triggers. Cursores. Funciones. Procedimientos Almacenados. Solo está disponible en las operaciones UPDATE y DELETE, están los valores anteriores a la ejecución de la actualización o borrado. INSERTED. UPDATE. DELETE. SELECT. Utilizada para expresar la condición que debe satisfacer cada grupo. IN. CASE. ANY. LIKE. Generalmente utiliza la cláusula _____ que limita la actualización a subconjunto de registros de la tabla. WHILE. FROM. WHERE. IN. La extensión recomendada para el archivo secundario es ndf. Archivos Datos Primarios. Archivos de Datos Secundarios. Archivos Log. Archivos Fisicos. La palabra clave ___ permite evaluar si el valor de una columna se encuentra en el conjunto de valores retornados por una subconsulta. IN. LIKE. CASE. ISNULL. Crea un índice que especifica la ordenación lógica de una tabla. El orden físico de las filas de datos es independiente del orden indicado. UNIQUE. CLUSTERED. NONCLUSTERED. Primary Key. Devuelve el último ID generado en cualquier tabla de la sesión activa, en todos los ámbitos. @@IDENTITY. SCOPE_IDENTITY(). IDENT_CURRENT('Tabla'). NEWID(). Si intenta crear una vista, una función o un activador basado en una tabla temporal local, recibirá ________. La creación se realizará sin problemas y podrá usar la tabla temporal local normalmente. La vista, función o activador funcionará correctamente siempre que la tabla temporal local exista en el momento de ejecución. El sistema ignorará la tabla temporal local y creará la vista, función o activador con éxito, pero sin relación a la tabla temporal. Un mensaje de error. Es una técnica que permite tratar fila por fila el resultado de una consulta. Cursor. Triggers. Procedimientos Almacenados. Funciones. Deshace todo lo actuado dentro de la transacción. COMMIT TRANSACTION. ROLLBACK TRANSACTION. SAVE TRANSACTION. BEGIN TRANSACTION. Una de esas instrucciones es el ____ que empieza un bloque si durante toda esa ejecución se produce un error pasa a otro bloque. CATCH. TRY. ERROR_NUMBER. ERROR_MESSAGE. devuelve el número de error. ERROR_NUMBER. ERROR_LINE. ERROR_MESSAGE. ROLLBACK. Las columnas que se utilizan en un índice único se deben establecer en _____. NOT NULL. ISNULL. BETWEEN. CATCH. Devuelve el último ID generado para nombre_tabla en cualquier sesión y cualquier ámbito. Se utiliza cuando se quiere saber el último ID generado para una tabla distinta de la que hemos utilizado en la operación de inserción. IDENT_CURRENT('nombre_tabla'). @@IDENTITY. SCOPE_IDENTITY(). NEWID(). Se pueden usar para asegurar que no sean ingresados valores duplicados en columnas específicas que no participan de la clave primaria. Restricciones UNIQUE. Restricciones CHECK. Restricciones DEFAULT. Restricciones FOREIGN KEY. El prefijo ___ se utiliza para indicar que es una tabla temporal global. %. ##. #. $. ¿Cuál de los siguientes enunciados es incorrecto con respecto a las tablas temporales globales?. Esta opción es segura y consume pocos recursos. Son accesibles por cualquier usuario mientras la sesión que las creó siga activa. Se crean con doble numeral (##) al inicio del nombre. Se eliminan automáticamente cuando la última sesión que las utiliza se cierra. Se refiere a una estructura de control utilizada para el recorrido (y potencial procesamiento) de los registros del resultado de una consulta. Cursor. Triggers. Procedimientos Almacenados. Funciones. Es la indicación de que se produjo un error en el programa. Excepción. Transapcion. Try. Catch. ______ se emplean para determinar si hay o no datos en una lista de valores. exists y not exists. isnull y not exists. not exists y nullo. in y exists. Informa de los permisos sobre un elemento protegible en el nivel de base de datos. sp_helprotect. sp_helpindex. sp_tables. sp_helpconstraint. Los miembros pueden cambiar las opciones de configuración del servidor y apagarlo. serveradmin. dbcreator. securityadmin. setupadmin. Las restricciones _____ aseguran la integridad de dominio al limitar los valores que son aceptados para una columna. Restricciones Check. Foreign Key. Unique Key. Default Key. Los miembros pueden agregar y quitar servidores vinculados. setupadmin. serveradmin. dbcreator. securityadmi. Devuelve un valor verdadero si el resultado de una subconsulta devuelve resultados. INSULL. NULL. EXISTS. NOT EXISTS. Comprueba que al valor está dentro de un intervalo. LIKE. CASE. IN. BETWEEN. La cláusula _____ lista los orígenes de los datos y la tabla en sí a ser actualizada. SELECT. WHERE. FROM. ALTER. La palabra reservada _____ permite realizar búsqueda con subcadenas. IN. ANY. CASE. LIKE. La palabra clave _______ permite evaluar si una subconsulta retorna al menos un registro o ninguno, es decir, funciona como una prueba de existencia. NOT EXISTS. NULL. IN. EXISTS. |