Ep2 La Ultima Esperanza Bad
Ep2 La Ultima Esperanza Bad
Ep2 La Ultima Esperanza Bad
la columna GRADUATION es una llave foranea a la tabla "graduate". Examine la tabla graduate
Select one:
a.
b.
c.
d.
/
Question 2 examinar el código:
Correct
Select one:
a. porque la variable WORD_LIST no es visible en el procedimiento wording
d. porque el parámetro WORD_LIST en modo out no puede ser de un tipo de datos de registro
wordlist vive y muere dentro del procedimiento, de alli nadie mas la puede ver
The correct answer is: porque la variable WORD_LIST no es visible en el procedimiento wording
/
Question 3 Examinar la estructura de las tablas EMPLEADOS y DEPARTAMENTOS.
Correct
Consulte el bloque PL / SQL que se ejecuta para encontrar el salario promedio de los empleados en el departamento de
'Ventas'.
¿Cuál es el resultado?
Select one:
a. Se ejecuta con éxito y da la salida correcta.
b. Genera un error porque no se puede usar una array asociativo con la instrucción SELECT INTO
c. Genera un error porque no se puede pasar un array asocitivo a un procedimiento en modo OUT
d. Ninguno de estos comandos; no puede deshabilitar varios triggers en una tabla en un comando.
/
Question 5 Mira el siguiente trigger
Correct
Select one:
a. Sacar la función COUNT porque no está permitida en un trigger.
b. Cambiar el trigger a un trigger de nivel de instrucción (statement-level trigger)eliminando FOR EACH ROW.
Un trigger de nivel de fila(row level trigger) no puede consultar ni modificar la misma tabla.
The correct answer is: Cambiar el trigger a un trigger de nivel de instrucción (statement-level trigger)eliminando FOR EACH
ROW.
Select one:
a. DBMS_OUTPUT.PUT_LINE(dept_rec);
b. No se puede desplegar un solo campo del registro debido a que no estan especialmente identificados en la seccion
declarativa.
c. DBMS_OUTPUT.PUT_LINE(dept_rec.loc);
d. DBMS_OUTPUT.PUT_LINE(dept_rec(1).loc);
- dname VARCHER2(14)
- loc VARCHER2(13)
/
Question 7 En cual seccion de un bloque PL/SQL es invocada una excepcion creada por el usuario?
Correct
/
Question 8 Que codigo puede ocupar usted para garantizar, que el salario de un empleado no sea incrementado mas de un 10% de su
Correct salario base o que sea decrementado?
Mark 1.00 out of
1.00 Select one:
a. ALTER TABLE emp ADD CONSTRAINT ck_sal CHECK(sal BETWEEN sal AND sal * 1.1);
b.
c.
d.
La diferencia entre:
y este codigo:
Es la clausula "FOR EACH ROW". La clausula FOR EACH ROW garantiza que el trigger sera ejecutado por cada fila que se
este afectando en el UPDATE. Sin esta clausula, solo ejecutara el trigger para 1 fila y las demas no las verificará.
Como aclaratorio, la pseudovariable "new" representa el valor que se le esta colocando en la sentencia UPDATE (osea el
valor nuevo que quiere reemplazar al viejo), la pseudovariable "old" representa el valor que esta en tabla, y será
reemplazado por el nuevo valor si el trigger asi lo decide.
El constraint:
ALTER TABLE emp ADD CONSTRAINT ck_sal CHECK(sal BETWEEN sal AND sal * 1.1);
Siempre tomara el valor que le estan escribiendo en el UPDATE, por lo que significa, que ese constraint SIEMPRE sera valido.
/
Question 9 ¿Qué afirmación es cierta con respecto a los sinónimos?
Correct
b. La declaración DROP SYNONYM elimina el sinónimo, y la tabla en la que se ha creado el sinónimo no es válida.
c. n sinónimo público y un sinónimo privado pueden existir con el mismo nombre para la misma tabla.
Question 10 En la seccion "DECLARE" de un bloque PL/SQL, creo pero no inicializó una variable numérica. Cuando el bloque empiece a
Correct ejecutarse, cual será el valor de esa variable?
Mark 1.00 out of
1.00 Select one:
a. Depende del tamaño y precision de la variable numerica
b. 0
c. NULL
/
Question 11 Mira la tabla de empleados:
Correct
Ahora el codigo:
Select one:
a. Ambos bloques se compilan y ejecutan exitosamente cuando son llamados.
d. El procedimiento CALC_SAL da un error en la compilación porque la variable amt debe declararse en el procedimiento
RAISE_SALARY.
/
Question 12 Dada la siguiente declaracion de cursor:
Correct
Select one:
a. La clausula INTO no se encuentra dentro del SELECT
The correct answer is: Un tipo de dato escalar no fue especificado en los parametros
Question 13 La tabla ORDERS pertenece al usuario OE. OE ha otorgado el privilegio SELECT en la tabla ORDERS al HR del usuario.
Correct
¿Qué declaración crearía un sinónimo de ORD para que HR pueda ejecutar la siguiente consulta con éxito?
Mark 1.00 out of
1.00 SELECT * FROM ord;
Select one:
a. CREATE SYNONYM ord FOR orders; Este comando es emitido por OE.
b. CREATE PUBLIC SYNONYM ord FOR oe.orders; este comando es emitido por el administrador de la base de datos
c. CREATE PUBLIC SYNONYM ord FOR orders; Este comando es emitido por OE.
d. CREATE SYNONYM ord FOR oe.orders; Este comando es emitido por el administrador de la base de datos
/
Question 14 Examine la estructura de la siguiente tabla:
Incorrect
Actualmente la tabla se encuentra vacia. Usted ha decidido que los valores nulos en la columna NULL no deberian ser
permitidos. Cual sentencia restringe los valores NULL de la columna NAME?
Select one:
a. ALTER TABLE student ADD CONSTRAINT NOT NULL (name);
Hay que recordar que la sintaxis para modificar una columna de una tabla es:
The correct answer is: ALTER TABLE student MODIFY(name varcher2(25) NOT NULL);
/
Question 15 Examina la estructura de las tablas EMPLOYEES, DEPARTMENTS AND EMP_BY_DEPT
Correct
Select one:
a. Da un error porque el atributo SQL% ROWCOUNT no se puede usar con BULK COLLECT.
b. Se ejecuta con éxito y ambas declaraciones de salida muestran los mismos valores.
d. Se ejecuta con éxito, pero las instrucciones de salida muestran valores diferentes.
Select one:
a. King current sysdate 1500
/
Question 17 Usted desea crear un cursor que pueda ser utilizado multiples veces en un bloque PL/SQL. Seleccionando distintos datos cada
Correct vez que el cursor sea abierto. Que tipo de cursor crearia usted?
Mark 1.00 out of
1.00
Select one:
a. Un cursor de seleccion multiple
En cambio un cursor del tipo "CURSOR FOR LOOP" es un tipo de cursor no reutilizable, que crea una variable automaticamente
(sin tener que declararla en la seccion DECLARE) donde iran almacenadas las filas devueltas por la consulta del cursor.
En el siguiente ejemplo, employee_rec es una variable creada automaticamente para guardar los resultados que devuelva el
cursor:
/
Question 18 ¿Qué declaración de creación de tabla es válida?
Correct
Select one:
a. Opcion A
b. Opcion D
c. Opcion B
d. Opcion C
b. Una variable dentro de un bloque interno, puede tener el mismo nombre que otra variable en un bloque externos si
sus tipos de datos son distintos
c. Una variable definida en el bloque externo, es visible para los demas bloques internos
/
Question 20 Examine el siguienste bloque de codigo:
Correct
Select one:
a. Value of V_found is YES
Value of V_found is 1000
Value of V_found is TRUE
Value of Y is 20
Pero entonces la linea 19 daria error también porque en teoría V_found ya no existe? }
La respuesta es .. NO DARIA ERROR POR ESA VARIABLE, debido a que para el bloque anonimo principal, en la linea 5 se declaro
la variable V_found, lo que significa, que la variable V_found creada en la linea 10 dejo de existir, pero la variable V_found de la
linea 5 sigue existiendo cuando se esta ejecutando la linea 19
The correct answer is: PLS-00201: identifier 'Y' must be declared.
/
Question 21 Examina la estrutura de la tabla EMP
Partially correct
b. Llamada en la linea 8
c. Llamada en la linea 9
d. Llamada en la linea 7
/
Question 22 Examine las siguientes declaraciones PL / SQL:
Correct
Stmt='SELECT session_id FROM sessions WHERE '|| p_where_stmt;
Mark 1.00 out of
1.00 Identifique una solución para prevenir la inyección de SQL en el código anterior.
Select one:
a. Usar la cláusula RESTRICT_REFERENCES en el subprograma PL / SQL que contiene el código
c. Usar DBMS_SQL para detectar que la expresión proporcionada para P_WHERE_STMT está libre de inyección SQL
The correct answer is: No utilizar API'S que permitan la exposición de parámetros de consulta arbitrarios
Question 23 Qué dos afirmaciones son verdaderas acerca de las variables del cursor? (Escoge dos.)
Correct
b. La consulta asociada con una variable de cursor no puede hacer referencia a la variable del host y las variables PL / SQL
c. El comando FETCH ejecuta la consulta asociada con una variable de cursor e identifica aun el resultado.
e. La instrucción OPEN FOR ejecuta la consulta asociada con una variable de cursor e identifica el conjunto de resultados
The correct answers are: Los atributos de cursor (%FOUND, %NOTFOUND, %ISOPEN y %ROWCOUNT) se pueden aplicar a una
variable de cursor, La instrucción OPEN FOR ejecuta la consulta asociada con una variable de cursor e identifica el conjunto de
resultados
Select one:
a. Es un trigger invalido
b. INSTEAD OF trigger
c. trigger DML
d. trigger de aplicacion
Aunque el LOGON sea de un trigger de sistema , estos triggers se disparan sobre un esquema o base de datos no sobre una
tabla, es por esto que es invalido.
mas info: https://desarrolloweb.com/articulos/triggers-sustitucion-sistema.html
/
Question 25 Cual sentencia SQL ocuparia usted para agregar un constraint PRIMARY KEY a la tabla "patient" ocupando la columna
Correct id_number, inmediatamente habilitando el constraint?
Mark 1.00 out of
1.00 Select one:
a. ALTER TABLE patient ADD CONSTRAINT pat_id_pk PRIMARY KEY(id_number);
Referencia: https://docs.oracle.com/html/E25494_01/general005.htm
Automaticamente por defecto, todo constraint estara habilitado despues de su creacion, si se deseara hdeshabilitarlo despues
de su creacion, la sintaxis deberia ser parecida a la siguiente:
The correct answer is: ALTER TABLE patient ADD CONSTRAINT pat_id_pk PRIMARY KEY(id_number);
/
Question 27 Examina el siguiente código y su resultado en la ejecución:
Correct
¿Cuál sería el efecto en los dos procedimientos si el valor de la depuración se establece en falso? (Escoge dos.)
Como la variable TRACE no cambia, MY_PROC2 no cambia pero dado que el packete tuvo un cambio se vuelve a compilar.
Como la variable DEBUG si cambia, MY_PROC1 si cambia y se vuelve a compilar.
The correct answers are: MY_PROC2 se vuelve a compilar pero permanece sin cambios., MY_PROC1 se vuelve a compilar sin el
código de depuración.
/
Question 28 Segun el siguiente procedimiento:
Not answered
Marked out of
1.00
¿Qué tres afirmaciones son apropiadas para proteger el código en el procedimiento de la inyección SQL? (Elige tres.)
d. Filtre los caracteres de control en los nombres de identificadores proporcionados por el usuario
The correct answers are: Validar explícitamente el límite de longitud del identificador, Filtre los caracteres de control en los
nombres de identificadores proporcionados por el usuario, Utilizar el ID de objeto de la tabla del diccionario de datos para
crear el nombre del activador
/
Question 29 Usted necesita modificar el salario de los empleados cuyo salario es menor a 1000. El salario debe ser aumentado un 10%. Cual
Correct de los siguientes bloques PL/SQL realiza la modificacion con exito?
Mark 1.00 out of
1.00 Select one:
a.
b.
c.
d.
/
Question 30 Examinar la estructura de la tabla EMP.
Partially correct
¿Qué etapas se realizan cuando se ejecuta el bloque anterior? (Elija todo lo que corresponda)
b. Parse
c. Fetch porque cuando hace un select into, crea un cursor y ejecuta este comando
c. La tabla SALES1 no se crearía porque los nombres de columna especificados en las cláusulas de selección y creación de
tabla no coinciden
d. La tabla SALES1 se crea sin filas pero solo con una estructura.
/
Question 32 Cual enunciado es cierto si el comadno "DROP TABLE" es ejecutado en una tabla?
Correct
c. La estructura de la tabla, y sus datos, no se les puede realizar un ROLLBACK y restaurar la tabla despues que el
comando haya sido ejecutado
d. El comando DROP TABLE puede ser ejecutado en tablas que tengan transacciones pendientes
La tabla posee 100 registros. Usted desea cambiar el nombre de la columna "GRADUATION" a "grad_date". Cual de los
siguientes enunciados es cierto?
Select one:
a. Puede ocupar el comando ALTER con la clausula MODIFY para renombrar la columna de la tabla
b. Puede ocupar el comando ALTER con la clausula RENAME para renombrar la columna de la tabla
c. Puede ocupar el comando ALTER con la clausula MODIFY para cambiar la columna
/
Question 34 Examine la estructura de la tabla EMPLEADO.
Correct
EMPLOYEE_SEQ es una secuencia existente.
Mark 1.00 out of
1.00 Examine el siguiente bloque de código:
Select one:
a. Da un error en la ejecución porque las secuencias no se pueden usar en bloques anónimos
d. Los datos se confirman automáticamente una vez que finaliza la ejecución del bloque.
En un COMMIT, un usuario solicitó explícita o implícitamente que los cambios en la transacción se hicieran permanentes. Los
cambios realizados por la transacción son permanentes y visibles para otros usuarios solo después de que se confirme una
transacción.
/
Question 35 Examine la estructura de la tabla STUDENTS
Correct
Se tienen 100 registros en la tabla. Usted necesita modificar la columna Phone para que esta solo contenga valores numericos.
Cual sentence ocuparía usted para modificar el tipo de datos de la columna?
Select one:
a. No se puede modificar el tipo de datos debido a que hay datos en la columna
https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_3001.htm
Cuando una columna posee el constraint NOT NULL, no puede modificarse su tipo de datos debido que en la conversion
pueden aparecer valores "NULL" (cuando la conversion falla) y por ende, el constraint no lo permie.
Cuando puedo cambiar el tamaño de datos de una columna? (por ej. cambiar NUMBER(9) a NUMBER(7))
- En caso de que se este pasando de un valor mas pequeño a uno mas grande, se permite automaticamente
- En caso de que se este pasando de un valor mas grande a uno mas pequeño, se permitirá hacer el cambio si y solo si, todas
las filas de la tabla no pierden datos con el nuevo tamaño de la columna.
/
Question 36 Evalue el siguiente bloque de codigo
Correct
Select one:
a. 2
b. 3
c. 1
d. 0
e. 5
f. 4
con eso claro, Y SUPONIENDO QUE USTED MEDIO SABE PROGRAMAR COMO PARA ENTENDER EL FLUJO DEL PROGRAMA ....
queda claro que:
i = 1 .... no hace nada
i= 2 ..... inserta el valor "2"
i = 3 .... realiza COMMIT a los cambios (inserta permanentemente "2")
i = 4 .... inserta el valor "4"
/
Question 37 La estructura de la tabla DEPT es la que se muestra a continuación
Correct
Select one:
a. DBMS_OUTPUT.PUT_LINE (name);
b. DBMS_OUTPUT.PUT_LINE (dept_rec.name);
c. DBMS_OUTPUT.PUT_LINE (dname);
e. DBMS_OUTPUT.PUT_LINE (dept_rec.dname);
/
Question 38 Examina la estructura de la tabla empleados
Correct
¿Cuál es el resultado?
Select one:
a. Da un error porque el nombre de la variable y el nombre de la columna son los mismos en la cláusula where de la
instrucción SELECT
Para evitar ambigüedades, agregue un prefijo a los nombres de las variables locales y los parámetros formales, o use una
etiqueta de bloque para calificar las referencias.
Noda error porque el nombre de la columna obtiene la precedencia y department_id = department_id se evaluará como
verdadero, luego la suma de todos los registros de la tabla (con department_ID) se asigna a V_SUM_SAL.
Es lo mismo que decir
SELECT SUM (salary)
INTO V_SUM_SAL
FROM employees
WHERE department_id IS NOT NULL;
The correct answer is: Se ejecuta con éxito e incorrectamente da el resultado de la suma de salarios en el departamento 60.
/
Question 39 Esta declaración falla cuando se ejecuta:
Correct
Select one:
a. ORACLE FORM trigger
b. Fila (ROW)
c. Before
d. Instruccion (Statement)
Question 40 Como añadiria usted un constraint de llave foranea en la columna "dept_no" de la tabla "EMP" que referencie a la columna "ID"
Correct de la tabla "DEPT"
Mark 1.00 out of
1.00 Select one:
a. Usar el comando "ALTER TABLE" con la clasula "ADD" en la tabla "DEPT"
The correct answer is: Usar el comando "ALTER TABLE" con la clausula "ADD" en la tabla "EMP"
/
Question 41 ¿Qué declaraciones son correctas para declarar unidades de programa almacenada? (Escoge dos)
Partially correct
d. CREATE OR REPLACE PROCEDURE tax_amt (p_id NUMBER, p_amount OUT NUMBER(10, 2))
The correct answers are: CREATE OR REPLACE FUNCTION tax_amt (p_id NUMBER) RETURN NUMBER, CREATE OR REPLACE
PROCEDURE tax_amt (p_id NUMBER, p_amount OUT NUMBER)
Select one:
a. 1000
b. 250
c. 750
d. 500
Puta si ahuevo necesitan explicacion de esta pregunta ..... regresense a introduccion a la informatica que son una deshonra para
la carrera ....
The correct answer is: 500
Select one:
a. OPEN emp_cursor
b. OPEN emp_cursor('clerk',10);
/
Question 44 Examinar la estructura de la tabla EMP.
Correct
Desea crear dos procedimientos utilizando la función de sobrecarga para buscar los detalles del empleado según el nombre o
el número del empleado.
¿Qué reglas debe aplicar para garantizar que la función de sobrecarga se utiliza correctamente?
d. Los parámetros formales de cada subprograma deben diferir en el tipo de datos pero pueden usar los mismos
nombres
¿La sobrecarga suena desconocida o extraña? Bueno, ¿alguna vez has usado la función TO_CHAR? Si es así, entonces ya has
estado disfrutando de las comodidades de la sobrecarga. TO_CHAR convierte los números y las fechas en cadenas. ¿Alguna vez
te has preguntado por qué no tienes que llamar a funciones con nombres como TO_CHAR_FROM_DATE o
TO_CHAR_FROM_NUMBER? Probablemente no. Probablemente solo tomaste TO_CHAR por sentado, y así es como debería ser.
En realidad, hay dos funciones TO_CHAR diferentes (ambas definidas en el paquete ESTÁNDAR): una para convertir fechas y otra
para convertir números. La razón por la que no tiene que preocuparse por estos detalles y simplemente puede ejecutar
TO_CHAR es que el motor de tiempo de ejecución PL / SQL examina el tipo de datos que pasa a TO_CHAR y luego determina
cuál de las dos funciones (con el mismo nombre) ) ejecutar. Es como la magia, solo que es mejor que la magia.
Cuando construye módulos sobrecargados, pasa más tiempo en el diseño y la implementación que con módulos
independientes independientes. Este tiempo adicional adicional se pagará generosamente en la productividad del programa y
la facilidad de uso.
The correct answers are: Los procedimientos deben crearse solo como subprogramas empaquetados., Los parámetros formales
de cada subprograma deben diferir en el tipo de datos pero pueden usar los mismos nombres
Question 45 Scott olvidó su contraseña. Cual comando debe ser ocupado para asignarle una nueva contraseña?
Not answered
/
Question 46 Debe crear una tabla con las siguientes especificaciones de columna:
Correct
1. Identificación del empleado (tipo de datos numérico) para cada empleado
Mark 1.00 out of
1.00 2. Nombre del empleado (tipo de datos de caracteres) que almacena el nombre del empleado
3. Fecha de contratación, que almacena la fecha de incorporación a la organización para cada empleado
4. Estado (tipo de datos de caracteres), que contiene el valor 'active' si no se ingresan datos
5. Resume (tipo de datos del objeto grande de carácter [CLOB]), que contiene el currículum enviado por el empleado
¿Cuál es la sintaxis correcta para crear esta tabla?
Select one:
a. Opcion C
b. Opcion A
c. Opcion B
d. Opcion D
si le pongo precision puede guardarme algun valor con 1.0 o 1.00 y pues no se quiere eso.
The correct answer is: Opcion D
/
Question 47 Examine el siguiente procedimiento almacenado:
Correct
Select one:
a. add_dept(,'New York');
b. add_dept(p_location=>'New York');
c. add_dept('Accounting');
d. add_dept;
The correct answers are: Se eliminan todos los datos junto con la estructura de la tabla., Se compromete una transacción
pendiente en la sesión., Todas las vistas y sinónimos permanecen, pero se invalidan.
/
Question 49 Como delcararia usted una tabla PL/SQL de registros para contener las filas seleccionadas de la tabla EMP?
Incorrect
b. DECLARE
TYPE emp-table-type is TABLE of emp%ROWTYPE INDEX BY BINARY INTEGER;
emp-table emp-table-type;
c. BEGIN
TYPE emp-table is TABLE of emp%ROWTYPE
emp-table emp-table-type;
d. DECLARE
TYPE emp-table is TABLE of emp%ROWTYPE INDEX BY WHOLE NUMBER;
emp-table emp-table-type;
Si se desea estudiar mas sobre las colecciones en PL/SQL refierase al siguiente link:
https://www.tutorialspoint.com/plsql/plsql_collections.htm
La sintaxis de TYPE TABLE es la que sigue:
Los TYPE TABLE son muy parecidos a los array ocupados en PHP en el sentido que, en PL/SQL asi como en PHP tenemos 2 tipos
de indices que podemos ocupar para referirnos a una fila:
- Indice Numerico (INDEX BY BINARY INTEGER)
/
The correct answer is: DECLARE
TYPE emp-table-type is TABLE of emp%ROWTYPE INDEX BY BINARY INTEGER;
emp-table emp-table-type;
Question 50 ¿Qué tres acciones se pueden realizar utilizando el paquete DBMS_ASSERT para evitar la inyección de SQL? (Elige tres.)
Partially correct
/
Question 51 Se tiene el siguiente trigger:
Correct
Se Emite un comando UPDATE en la tabla EMP que da como resultado el cambio de 10 filas.
Select one:
a. 10
c. Ninguna
d. 1
Como podria obtener completamente una fila de la tabla DEPT con la variable dept_rec?
Select one:
a. SELECT* INTO dept_rec.dno,dept_rec.name,dept_rec. FROM dept WHERE dept no=10;
https://blogs.oracle.com/oraclemagazine/working-with-records
Si el typo dept_record_type hubiese tenido todos los campos de la tabla DEPT, hubiese sido valido escribir
/
Question 53 Que tipos de elementos pueden ser agrupados en paquetes (packages)?
Correct
b. Secuencia
c. Vista (View)
d. Trigger
e. Constante
Question 54 ¿Qué afirmaciones son verdaderas acerca de los triggers de nivel de declaración(de instruccion) y nivel de fila? (Escoge dos.)
Partially correct
c. Los triggers de instrucciones son útiles si la acción de activación depende de los datos de las filas afectadas o de los
datos que proporciona el evento de activación en sí.
d. Los triggers de filas son útiles si la acción de activación depende de los datos de las filas afectadas o de los datos que
proporciona el evento de activación.
Question 55 Identifique dos métodos para inmunizar código PL / SQL contra ataques de inyección SQL. (Escoge dos.)
Not answered
The correct answers are: Utilizar argumentos de enlace, Validar todas las entradas concatenadas a SQL dinámico.
/
Question 56 Examina el bloque PL / SQL:
Not answered
Marked out of
1.00 ¿Qué afirmaciones son verdaderas sobre la ejecución del bloque PL / SQL? (Escoge dos)
b. Se ejecuta, y las claves de cadena de un array asociativo no se almacenan en el orden de creación, sino en el orden
alfabetico (son ordenadas).
d. No se ejecuta porque el valor que una vez se asigna al elemento del array asociativo no se puede cambiar.
.NEXT(i), Ese atributo ordena automaticamente los indices, solo por esa razon los indices se ordenan.
The correct answers are: Se ejecuta con éxito y da la salida deseada., Se ejecuta, y las claves de cadena de un array asociativo no
se almacenan en el orden de creación, sino en el orden alfabetico (son ordenadas).
Se acaba de crear los departamentos, las ubicaciones y la tabla de empleados. No se ha insertado ninguna fila.
A continuación se crean ambos procedimientos.
Se invoca el procedimiento insert_location usando el siguiente comando:
EXECUTE insert_location (19, 'San Francisco');
Select one:
a. La tabla de ubicación tiene una fila. Las tablas de departamentos y de empleados están vacías.
b. La tabla de departamentos tiene una fila. La tabla de ubicaciones y la de empleados están vacías.
c. La tabla de ubicaciones y la tabla de departamentos tienen una fila. La tabla de empleados está vacía.
The correct answer is: Las tablas de ubicaciones, departamentos y empleados están vacías.
/
Question 58 Examine las declaraciones de creación de tablas para las tabla tiendas y la tabla ventas.
Partially correct
e. Crear la clave externa en la tabla de VENTAS en la columna SALES_ID con la opción DELETE CASCADE.
/
Question 60 Examina el siguiente codigo PL/SQL:
Not answered
Marked out of
1.00
Select one:
a. Si elimina la especificación del paquete, se eliminan el cuerpo del paquete y la función almacenada independiente
CALC_HEIGHT.
c. La función independiente CALC_HEIGHT no se puede crear porque su nombre se usa en una función empaquetada.
e. Si elimina el cuerpo del paquete, se eliminan la especificación del paquete y la función almacenada independiente
CALC_HEIGHT.
f. Si elimina la función almacenada independiente CALC_HEIGHT, se eliminan el cuerpo del paquete METRIC_CONVERTER
y la especificación del paquete.
The correct answer is: Si elimina la especificación del paquete, entonces se elimina el cuerpo del paquete.
/
Question 62 Examine el siguiente bloque PL/SQL
Not answered
Marked out of
1.00
Este bloque genera un error de compilacion. En que linea genera el error de compilacion?
Select one:
a. v_name emp.ename%TYPE;
b. SELECT ename, sal INTO v_name, v_sal FROM emp WHERE empno=101;
d. v_num NUMBER;
e. IF (v_sal.GT.10000) THEN
/
Question 63 Desea crear una tabla de empleados en los que los valores de las columnas EMPLOYEES_ID y LOGIN_ID deben ser únicos y no
Not answered nulos. ¿Qué dos sentencias de SQL crearían la tabla requerida?
Marked out of
1.00
b. Opcion C
c. Opcion B
d. Opcion D
e. Opcion A
b. ALTER
c. INDEX
d. DELETE
/
Question 65 Examina estas afirmaciones:
Not answered
CREATE ROLE registrar;
Marked out of
1.00 GRANT UPDATE ON student_grades TO registrar;
Select one:
a. Crea un rol llamado REGISTRAR, agrega el privilegio de ACTUALIZACIÓN(UPDATE) sobre el objeto STUDENT_GRADES al
rol especificado, y crea tres usuarios con el rol.
c. Crea un rol llamado REGISTRAR, agrega el privilegio de ACTUALIZACIÓN (UPDATE) a tres usuarios y le otorga el rol de
REGISTRAR al objeto STUDENT_GRADES.
d. Crea un rol llamado REGISTRAR, agrega el privilegio MODIFY en el objeto STUDENT_GRADES al rol especificado y
otorga el rol REGISTRAR a tres usuarios.
e. Crea un rol llamado REGISTRAR, agrega el privilegio de ACTUALIZACIÓN(UPDATE) sobre el objeto STUDENT_GRADES al
rol especificado, y otorga el rol REGISTRAR a tres usuarios
f. Crea un rol llamado STUDENT_GRADES, agrega el privilegio UPDATE a tres usuarios y le otorga el rol UPDATE al
registrador
The correct answer is: Crea un rol llamado REGISTRAR, agrega el privilegio de ACTUALIZACIÓN(UPDATE) sobre el objeto
STUDENT_GRADES al rol especificado, y otorga el rol REGISTRAR a tres usuarios
Marked out of
1.00
Select one:
a. La STATS_EXIST_EXCEPTION no se ha declarado como una excepción.
Las excepciones deben ser declaradas dentro de la sección DECLARE, como si de una variable se tratase:
DECLARE
e_sin_alumnos EXCEPTION;
siempre y cuando la exepcion no se manejada por una variable por defecto por oracle.
/
Question 67 Cuales enunciados son ciertos para los paquetes (packages)?
Not answered
The correct answers are: El contenido de los paquetes pueden ser compartidos por multiples aplicaciones, Usted puede
esconder informacion haciendo el constructor del paquete, privado
Question 68 Se ejecuta el siguiente comando para modificar la columna de país en la tabla de departamentos:
Not answered
Marked out of
1.00
¿Qué afirmación es verdadera?
Select one:
a. Se ejecuta con éxito. La modificación para agregar el valor predeterminado surte efecto solo a partir de inserciones
posteriores en la tabla.
b. Se ejecuta con éxito y todas las filas que tienen un valor nulo para la columna de país se actualizarán con el valor 'USA'.
d. Produce un error porque las definiciones de columna no se pueden modificar para agregar valores predeterminados.
The correct answer is: Se ejecuta con éxito y todas las filas que tienen un valor nulo para la columna de país se actualizarán con
el valor 'USA'.
/
Question 69 Mira la tabla emp
Not answered
Marked out of
1.00
¿Cuál es el resultado?
Select one:
a. Da un error porque el llamado de la funcion en DBMS_OUTPUT. PUT__LINE no es válido.
c. Se ejecuta con éxito pero no muestra los nombres y salarios de todos los empleados que ganan el salario más alto.
d. Se ejecuta con éxito y muestra los nombres y salarios de todos los empleados que ganan el salario más alto.
Si hay más de un empleado que gana el salario más alto, entonces no se mostrarán todos los empleados. Mostrará solo un
empleado.
El return debe estar afuera del loop
The correct answer is: Se ejecuta con éxito pero no muestra los nombres y salarios de todos los empleados que ganan el salario
más alto.
Question 70 Cual comando ALTER ocuparia usted para volver a habilitar un constraint PRIMARY KEY?
Not answered
The correct answer is: ALTER TABLE CARS ENABLE CONSTRAINT cars_id_pk
/
Question 71 Examinar la estructura de la tabla Customers
Not answered
Marked out of
1.00
Select one:
a. Da un error porque la condición WHERE no es válida.
e. Da un error porque el calificador NEW en la cláusula when requiere un prefijo de dos puntos.
1. WHEN (condition): Especifica una condición SQL que la base de datos evalúa para cada fila a la que afecta la declaración
de activación. Si el valor de la condición es TRUE para una fila afectada, entonces el trigger_body se ejecuta para esa fila;
de lo contrario, el trigger_body no se ejecuta para esa fila. La instrucción de activación se ejecuta independientemente del
valor de la condición. En condiciones, no coloque dos puntos (:) antes del nombre de correlación NUEVO, ANTIGUO o
PADRE.
2. No es la A porque dice NEW/columna donde deberia de ser NEW.columna, si estuviera correctamente seria la D porque
tambien despues del UPDATING ponen OLD_columna cuando es OLD.columna
The correct answer is: Da un error porque la condición WHERE no es válida.
/
Question 72 Examinar la estructura de la tabla de productos.
Not answered
Nombre nulo? Tipo
Marked out of
1.00 PRODUCT_ID NOT NULL NUMBER(6)
Select one:
a. El nombre de las variables de cursor definidas y el nombre de las variables de cursor pasadas como argumentos deben
ser iguales.
b. La instrucción CLOSE cierra ambas variables del cursor, por lo tanto, la última instrucción FETCH no puede ejecutarse.
c. l contenido de una variable de cursor no se puede asignar a otra variable de cursor utilizando el operador :=.
Question 73 ¿Qué dos afirmaciones son verdaderas sobre los tipos de REF CURSOR? (Escoge dos.)
Not answered
c. SYS_REFCURSOR se puede usar para declarar variables de cursor en procedimientos y funciones almacenados
d. Un tipo de retorno REF CURSOR puede declararse usando %TYPE o %ROWTYPE o un registro definido por el usuario
/
Question 74 Examina el siguiente bloque de codigo PL/SQL:
Not answered
Marked out of
1.00
¿Qué afirmación es cierta sobre la ejecución del código si la consulta en el bloque PL / SQL no devuelve filas?
Select one:
a. El programa termina abruptamente y se produce una excepción.
b. El programa se ejecuta con éxito y la consulta obtiene un valor nulo en la variable V_LNAME.
d. El programa se ejecuta con éxito, recupera un valor NULL en la variable V_LNAME y se genera una excepción.
Marked out of
1.00
Select one:
a. Esta declaración crea un procedimiento almacenado llamado get_sal.
d. Esta declaración crea una función almacenada llamada get_sal con un estado de no válido.
e. Esta declaración devuelve una cantidad de aumento basada en una identificación de empleado.
/
Question 76 ¿Cómo se reducen las posibilidades de inyección de SQL para el procedimiento?
Not answered
Marked out of
1.00
Select one:
a. Convertir la condición en la cláusula WHERE para que sea aceptada por el usuario y concatenada.
c. Convertir la instrucción SELECT a SQL estático, colocando el valor de P_EMAIL en una variable local.
Marked out of
1.00
El código tarda mucho tiempo en ejecutarse. ¿Qué recomendarías para mejorar el rendimiento?
Select one:
a. Ocupar la opcion "BULK COLLECT" para realizar la consulta en vez de un cursor
c. Usar los tipos de datos SIMPLE_INTEGER en lugar del tipo de datos NUMBER
d. Usar WHILE ........... END LOOP en lugar de FOR ........... END LOOP
/
Question 78 Examine el siguiente codigo:
Not answered
Marked out of
1.00
Select one:
a.
b.
c.
d.
/
Question 79 Examine la estructura de las tablas EMPLOYEES y NEW_EMPLOYEES:
Not answered
Marked out of
1.00
Select one:
a. MERGE INTO new_employees c USING employees e ON (c.employee_id = e.employee_id) WHEN MATCHED THEN
UPDATE SET c.name = e.first_name ||','|| e.last_name WHEN NOT MATCHED THEN INSERT VALUES (e.employee_id,
e.first_name ||', '||e.last_name);
b. MERGE new_employees c USING employees e ON (c.employee_id = e.employee_id) WHEN EXISTS THEN UPDATE SET
c.name = e.first_name ||','|| e.last_name WHEN NOT MATCHED THEN INSERT VALUES (e.employee_id, e.first_name ||',
'||e.last_name);
c. MERGE new_employees c FROM employees e ON (c.employee_id = e.employee_id) WHEN MATCHED THEN UPDATE
SET c.name = e.first_name ||','|| e.last_name WHEN NOT MATCHED THEN INSERT INTO new_employees VALUES
(e.employee_id, e.first_name ||', '||e.last_name);
d. MERGE INTO new_employees c USING employees e ON (c.employee_id = e.employee_id) WHEN EXISTS THEN UPDATE
SET c.name = e.first_name ||','|| e.last_name WHEN NOT MATCHED THEN INSERT VALUES(e.employee_id, e.first_name ||',
'||e.last_name);
/
Question 80 Tiene la estructura de tabla empleada y el codigo PL/SQL siguiente:
Not answered
Marked out of
1.00
Select one:
a. Da un error porque no se puede usar el mismo nombre de variable en todos los bloques anidados.
c. Se ejecuta con éxito y muestra los valores resultantes en la siguiente secuencia: 1000, 2800 50000, 2800
d. Se ejecuta con éxito y muestra los valores resultantes en la siguiente secuencia: 1000, 2800, 50000, 1000.
The correct answer is: Se ejecuta con éxito y muestra los valores resultantes en la siguiente secuencia: 1000, 2800 50000, 2800
Question 81 ¿Qué dos directrices deben considerarse al diseñar y utilizar cursores en un bloque PL / SQL? (Escoge dos.)
Not answered
b. Cuando se esta realizando un fetch a un cursor, coloque el valor en un registro (un record o un %rowtype/ %type)
c. Cuando se esta realizando un fetch a un cursor, colocar los valores requeridos en variables declaradas individualmente.
d. Siempre que sea posible, use el bucle FOR del cursor en lugar de declarar explícitamente el cursor y use las
instrucciones ABRIR, FETCH y CERRAR para manipular el cursor.
The correct answers are: Cuando se esta realizando un fetch a un cursor, coloque el valor en un registro (un record o un
%rowtype/ %type), Siempre que sea posible, use el bucle FOR del cursor en lugar de declarar explícitamente el cursor y use las
instrucciones ABRIR, FETCH y CERRAR para manipular el cursor.
/
Question 82 Vea La imagen 1 y examine la estructura de las tablas EMPLEADOS y DEPARTAMENTOS existentes en el esquema. Vea la imagen
Not answered 2 y examine el bloque PL / SQL que se ejecuta para mostrar el salario incrementado por departamento para todos los
Marked out of departamentos de la empresa. El código genera un error en la ejecución.
1.00
¿Qué corrección se debe hacer para garantizar que el código se ejecute correctamente?
Select one:
a. El parametro de la variable cursor debe pasarse en el modo IN OUT.
b. La variable del cursor debe definirse como un tipo fuerte de CURSOR REF.
c. El nombre de la variable del cursor pasado como parámetros reales y formales debe ser idéntico.
d. El atributo de cursor %NOTFOUND no se puede usar con las variables del cursor y se debe reemplazar con una
excepción definida por el usuario.
The correct answer is: El parametro de la variable cursor debe pasarse en el modo IN OUT.
/
Question 83 Examine el siguiente bloque de código:
Not answered
Marked out of
1.00
Select one:
a. Linea 2
b. Linea 5
c. Linea 8
d. Linea 7
/
Question 84 La estructura de la tabla DEPT es como la que se muestra a continuación:
Not answered
Marked out of
1.00
Usted necesita asignar al campo "LOC" del registro 15 el valor de "Atlanta". Cual sentencia PL/SQL puede realizar esta
asignacion?
Select one:
a. dept_table(15).loc := 'Atlanta';
b. dept_table[15].loc := 'Atlanta';
c. dept_table.loc.15 := 'Atlanta';
d. dept_table_type(15).loc := 'Atlanta';
/
The correct answer is: dept_table(15).loc := 'Atlanta';
Question 85 El usuario Alice quiere otorgar a todos los usuarios privilegios de consulta en su tabla DEPT. ¿Qué declaración SQL logra esto?
Not answered
/
Question 86 Examine la siguiente funcion:
Not answered
Marked out of
1.00
Select one:
a. CALC_PLAYER(‘RUTH’);
b. CALC_PLAYER_AVG(31);
c. EXECUTE CALC_PLAYER_AVG(31);
e. START CALC_PLAYER_AVG(31);
Marked out of
1.00
Select one:
a. En La restricción (Constraint) CHECK no se puede colocar en columnas que tengan el tipo de datos DATE.
c. ORD_NO y ITEM_NO no se pueden usar como una clave primaria compuesta porque ORD_NO también es la CLAVE
EXTERNA.
The correct answer is: SYSDATE no se puede utilizar con la restricción (constraint) CHECK.
/
Question 88 Se le ha otorgado al usuario SCOTT los permisos de CREATE ANY TRIGGER AND ALTER ANY TABLE por el DBA. HR es un
Not answered esquema existente en la base de datos.
Marked out of
SCOTT crea el siguiente trigger:
1.00
SCOTT no otorga el privilegio de ejecución sobre este trigger a ningún otro usuario.
¿Para qué usuario (s) se activaría este trigger de forma predeterminada cuando se dropee (DROP) un objeto en el esquema de
hr?
Select one:
a. SCOTT, HR y SYS
b. Solo HR
c. SCOTT y HR
d. Solo SCOTT
Solo el duenio del esquema tiene derechos por default, por ende solo HR causara la activacion del trigger.
The correct answer is: Solo HR
Question 89 Usted desea obtener los detalles de los empleados, de la tabla "EMP" y procesarlos ocupando un bloque PL/SQL. Que tipo de
Not answered variable deberia crear en PL/SQL para obtener todas las filas y columnas usando una sola sentencia SELECT?
Marked out of
1.00 Select one:
a. un PL/SQL record
c. variable %ROWTYPE
Question 90 ¿Qué declaración agrega una columna llamada salario a la tabla de empleados que tiene 100 filas, que no puede contener
Not answered nulas?
Marked out of
1.00
Select one:
a. Opcion B
b. Opcion A
c. Opcion C
d. Opcion D
/
Question 91 Usted ha decidido remover permanentemente los datos de la tabla STUDENT y usted necesita la estructura de esta tabla, en el
Not answered futuro,
Marked out of
1.00 Select one:
a. DELETE* FROM student;
TRUNCATE resetea los valores AUTO_INCREMENT, manteniendo la estructura de la tabla para uso futuro
DELETE solo remueve los valores sin resetear el AUTO_INCREMENT
Marked out of
1.00
Select one:
a. El trigger marca al usuario como conectado a la base de datos antes de emitir una declaración de auditoría.
b. El trigger registra una accion de auditoría cuando un usuario realiza cambios en la base de datos.
c. El trigger invoca el procedimiento audit_action cada vez que un usuario inicia sesión en la base de datos y agrega
el nombre de usuario a la tabla de auditoría.
d. El trigger invoca a el procedimiento audit_action cada vez que un usuario inicia sesión en su esquema y agrega el
nombre de usuario a la tabla de auditoría.
/
Question 93 SLS es un sinónimo privado de la tabla SH.SALES.
Not answered
El usuario SH emite el siguiente comando:
Marked out of
1.00 DROP SYNONYM sls;
Select one:
a. El sinónimo se eliminará y los paquetes que se refieran al sinónimo se eliminarán.
b. El sinónimo se eliminaría y cualquier sinónimo PÚBLICO con el mismo nombre dejará de ser válido
Los sinónimos privados son objetos de esquema. O bien deben estar en su propio esquema, o deben estar calificados con el
nombre del esquema. Los sinónimos públicos existen independientemente de un esquema.
Un sinónimo público puede ser referido por cualquier usuario a quien se le haya otorgado permiso para verlo sin la necesidad
de calificarlo con un nombre de esquema.
Los sinónimos privados deben ser un nombre único dentro de su esquema. Los sinónimos públicos pueden tener el mismo
nombre que los objetos de esquema. Al ejecutar sentencias que abordan objetos sin un calificador de esquema, Oracle primero
buscará el objeto en el esquema local, y solo si no se puede encontrar, buscará un sinónimo público.
The correct answer is: Sólo el sinónimo se eliminaría.
Marked out of
1.00
¿Qué afirmaciones son verdaderas con respecto a la creación y el almacenamiento de datos en la estructura de tabla anterior?
b. La columna TRANS_DATE podría almacenar el día, mes, siglo, año, hora, minutos, segundos y fracciones de segundos
CHAR [(tamaño)] Datos de caracteres de longitud fija de bytes de tamaño de longitud (el tamaño predeterminado y mínimo es
1; el tamaño máximo es 2, 000.)
NÚMERO [(p, s)] Número con precisión p y escala s (Precisión es el número total de dígitos decimales y escala es el número de
dígitos a la derecha del punto decimal; la precisión puede variar de 1 a 38, y la escala puede variar de 84 a 127.)
FECHA Los valores de fecha y hora al segundo más cercano entre el 1 de enero de 4712 a. C. y el 31 de diciembre de 9999 a. C.
The correct answers are: La columna TRANS_VALIDITY daría un error., La columna CUST_STATUS almacenaría exactamente un
carácter.
/
Question 95 Examinar la estructura de la tabla EMP.
Not answered
Marked out of
1.00
Select one:
a.
Se eliminan los paquetes MANAGE_EMP y EMP__DET debido al efecto en cascada.
Puedes usar la sentencia DROP para borrar un paquete siempre y cuando tengas el privilegio sobre el paquete, puedes usar la
sintaxis de la siguiente forma:
1.- DROP PACKAGE package_name; esta sentencia borra tanto el package specification, como el package body.
2.- DROP PACKAGE BODY package_body_name; esta sentencia borra solo el body package pero deja viva su package
specification.
NOTA: en la sentencia 1, si algún miembro del package borrado, esta siendo referenciado en algún otro lúgar de un package
este se invalida.
The correct answer is: Descarta el paquete MANAGE_EMP e invalida solo el cuerpo del paquete EMP_DET.
/
Question 96 Examine el siguiente bloque PL / SQL para almacenar el salario de todos los representantes de ventas de la tabla EMPLEADOS
Not answered en un array asociativo:
Marked out of
1.00
¿Qué debe corregir en el código anterior para garantizar que se ejecute correctamente?
Select one:
a. Reemplazar EMP_CV en la línea 3 con employee.salary% TYPE.
c. Reemplazar BULK COLLECT en la línea 8 con las instrucciones OPEN, FETCH, LOOP y CLOSE.
d. Reemplazar la línea 2 con TIPO refcur IS REF CURSOR DEVOLUCIÓN empleados.sallar% TYPE; emp_cv refcur ;.
The correct answer is: Reemplazar EMP_CV en la línea 3 con employee.salary% TYPE.
/
Question 97 Usted necesita crear un bloque PL/SQL para insrtar registros en la tabla employees. Cual bloque ejecutará la inserción
Not answered correctamente?
Marked out of
1.00 Select one:
a.
b.
c.
d.
/
Question 98 Se quiere crear una tabla para una aplicación bancaria. Una de las columnas de la tabla tiene los siguientes requisitos:
Not answered
1) Desea una columna en la tabla para almacenar la duración del período de crédito.
Marked out of
1.00 2) Los datos en la columna deben almacenarse en un formato tal que se puedan agregar y restar fácilmente con el tipo de
datos DATE sin usar funciones de conversión.
¿Qué tipo de datos usaría para una columna de este tipo en la tabla?
Select one:
a. INTERVAL DAY TO SECOND
b. TIMESTAMP
c. DATE
e. NUMBER
Marked out of
1.00
Select one:
a. Ninguna sentencia FETCH fue realizada
/
Question 100 Se crea la tabla "sales" por medio del siguiente comando
Not answered
Marked out of
1.00
Select one:
a. Un indice es creado para la columna customer_no
SOLAMENTE los constraint "PRIMARY KEY" y "UNIQUE" son los que crean automaticamente un indice en la tabla determinada
------------------------------------------------------------------------------------------------------
Otro detalle a tener en mente es el siguiente
https://use-the-index-luke.com/sql/where-clause/null/index
Cuando se crea un indice para una columna, este indice va a contener todas las filas cuyo valor de indice NO SEA NULL. Si un
indice esta compuesto por varias columnas, la fila se agregara al indice SI POR LO MENOS UNA COLUMNA NO ES NULA
The correct answer is: Un indice es creado para la columna purchase_no
/
Question 101 Se crea la siguiente tabla y ejecuta el siguiente código:
Not answered
Marked out of
1.00
Select one:
a. Se ejecuta con éxito y todas las filas se actualizan.
d. Da un error pero guarda las filas insertadas; sin embargo, no se actualizan filas.
Toda las sentencias estan correctas aca la cuestion es identificar cual podria ser en error, en este caso todo esta correcto, lo que
cambia con respecto a otros ejercicios es la longuitud del string, en especifico en BOOKEEPER hay que ver si al concatenarle el
otro string no se llega a un overfloat
veamos BOOKEEPER (SENIOR) tiene una longuitud de 18 con lo que cumple, por tanto la respuesta es que se ejecuta sin
errores, aca dejo otra version donde no cumple dado que la la palabra es BOOKEEPER.
en este caso la respuesta seria "Da un error pero guarda las filas insertadas y la actualización de la primera fila." por razones
obvias
The correct answer is: Se ejecuta con éxito y todas las filas se actualizan.
/
Question 102 ORDER_TOTAL es una columna en la tabla orders con el tipo de datos NUMBER(8, 2) Examine el siguiente código:
Not answered
Marked out of
1.00
Select one:
a. Linea 3
c. Linea 4
d. Linea 6
%TYPE se utiliza para declarar variables relacionadas con el tipo de datos de una columna en una tabla existente, no con el tipo
de datos de otra variable.
The correct answer is: Linea 4
Marked out of
1.00
c. add_dept ('Contabilidad');
d. add_dept;
add_dept('Accounting'); es correcto porque aquí llamamos al procedimiento usando notación de posición, y el primer
parámetro para el procedimiento tendrá el valor 'Accounting', y dado que el segundo parámetro tiene un valor predeterminado,
podemos omitirlo, y en este caso tomará el valor por defecto.
add_dept(p_location=>'New York'); es correcto porque aquí estamos llamando al procedimiento utilizando la notación de
denominación, el valor 'New York' irá al parámetro p_location, y el parámetro p_dept_name tendrá el valor predeterminado.
add_dept(,'New York'); No puede usar de esta manera y suponga que el PL / SQL comprenderá que debe asignar el valor
predeterminado para el primer parámetro. Esta es una forma incorrecta de llamar
The correct answers are: add_dept;, add_dept ('Contabilidad');, add_dept (p_location => 'New York');
/
Question 104 Desea crear una tabla de ventas con las siguientes especificaciones de columna y tipos de datos:
Not answered
SALESID: Número
Marked out of
1.00 STOREID: Número
ITEMID: Número
QTY: Número, se debe establecer en 1 cuando no se especifica ningún valor
SLSDATE: Fecha, se debe establecer en la fecha actual cuando no se especifica ningún valor
PAYMENT: Permitir hasta 30 caracteres, deben configurarse en CASH cuando no se especifica ningún valor.
Select one:
a. Opcion C
b. Opcion B
c. Opcion A
d. Opcion D
/
Question 105
Examine los siguientes comandos SQL:
Not answered
Marked out of
1.00
¿Qué afirmación es cierta con respecto a la ejecución de los comandos SQL anteriores?
Select one:
a. Ambos comandos se ejecutan con éxito.
b. El primer comando CREATE TABLE genera un error porque las restricciones (CONSTRAIT) CHECK y PRIMARY KEY no se
pueden usar para la misma columna.
c. El primer comando CREATE TABLE genera un error porque la restricción(CONSTRAINT) NULL no es válida.
d. El segundo comando CREATE TABLW genera un error porque la restricción (CONSTRAINT) CHECK no es válida.
e. El primer comando CREATE TABLE genera un error porque la columna PROD_ID no se puede usar en las restricciones
(CONSTRAINT) de CLAVE PRIMARIA y CLAVE FORANEA
The correct answer is: El primer comando CREATE TABLE genera un error porque la restricción(CONSTRAINT) NULL no es válida.
Question 106 Se crea un procedimiento en el esquema SYS para permitir a los usuarios cambiar la contraseña de la siguiente manera:
Not answered
Marked out of
1.00
El usuario de SYS ha otorgado el privilegio EXECUTE sobre el procedimiento para el usuario de OE. Pero OE puede cambiar la
contraseña de SYS utilizando este procedimiento. ¿Cómo se debe proteger esto?
Select one:
a. utilizando AUTHID CURRENT_USER en el procedimiento para implementar el derecho del invocador
The correct answer is: utilizando AUTHID CURRENT_USER en el procedimiento para implementar el derecho del invocador
/
Question 107 Examine la estructura propuesta para la tabla de TRANSACTIONS:
Not answered
Marked out of
1.00
¿Qué afirmaciones son verdaderas con respecto al almacenamiento de datos en la estructura de la tabla anterior?
d. La columna CUST_STATUS permitiría el almacenamiento de datos hasta el tamaño máximo de VARCHAR2 de 4,000
caracteres.
B: el tipo de datos NUMBER almacena números de punto fijo y flotante. Se pueden almacenar números de prácticamente
cualquier magnitud y se garantiza que son portátiles entre los diferentes sistemas que operan Oracle, hasta 38 dígitos de
precisión.
Los siguientes números se pueden almacenar en una columna NÚMERO:
Números positivos en el rango 1 x 10-130 a 9.99 ... 9 x 10125 con hasta 38 dígitos significativos
Números negativos de -1 x 10-130 a 9.99 ... 99 x 10125 con hasta 38 dígitos significativos
El tipo de datos VARCHAR2 almacena cadenas de caracteres de longitud variable. Cuando crea una tabla con una columna
VARCHAR2, especifica una longitud máxima de cadena (en
Un literal de intervalo especifica un período de tiempo y Oracle admite dos tipos de literales de intervalo: YEAR_TO_MONTH y
DAY TO SECOND.
Para DIA A SEGUNDO, puede especificar estas diferencias en términos de días, horas, minutos y segundos.
DIA A SEGUNDO contiene un campo inicial y puede contener un campo final opcional.
Si se especifica el campo final, debe ser menos significativo que el campo inicial. Por ejemplo, INTERVAL MINUTE TO DAY no es
válido.
The correct answers are: La columna CUST_CREDIT_VALUE permitiría el almacenamiento de enteros positivos y negativos., La
columna CUST_STATUS permitiría el almacenamiento de datos hasta el tamaño máximo de VARCHAR2 de 4,000 caracteres.
/
Question 108 ¿Qué sentencia CREATE TABLE es válida?
Not answered
Marked out of
1.00
Select one:
a. CREATE TABLE ord_details(ord_no NUMBER(2) PRIMARY KEY,item_no NUMBER(3) PRIMARY KEY,ord_date DATE NOT
NULL);
b. CREATE TABLE ord_details(ord_no NUMBER(2) UNIQUE, NOT NULL,item_no NUMBER(3),ord_date DATE DEFAULT
SYSDATE NOT NULL);
d. CREATE TABLE ord_details(ord_no NUMBER(2) ,item_no NUMBER(3),ord_date DATE DEFAULT NOT NULL,CONSTRAINT
ord_uq UNIQUE (ord_no),CONSTRAINT ord_pk PRIMARY KEY (ord_no));
Esta restricción impone la unicidad de la columna o combinación de columnas y garantiza que ninguna columna que sea parte
de la clave principal pueda contener un valor nulo.
Nota: dado que la unicidad es parte de la definición de la restricción de la clave principal, el servidor de Oracle aplica la
singularidad mediante la creación implícita de un índice único en la columna o columnas de la clave principal.
The correct answer is: CREATE TABLE ord_details(ord_no NUMBER(2),item_no NUMBER(3),ord_date DATE DEFAULT SYSDATE NOT
NULL,CONSTRAINT ord_pk PRIMARY KEY (ord_no, item_no));
b. Se utiliza una instrucción MERGE para combinar los datos de una tabla con los datos de otra.
c. Se puede usar una declaración MERGE para insertar nuevas filas en una tabla.
d. Una declaración MERGE reemplaza los datos de una tabla con la de otra.
La declaración MERGE le permite insertar o actualizar datos de forma condicional en una tabla.
Si las filas que coinciden con la condición de unión, están presentes en la tabla de destino , se actualizan
/
Question 110 Examina la tabla empleados del esquema SCOTT
Not answered
Marked out of
1.00
Ahora examina el código para el procedimiento EMP_TOTSAL creado por el usuario SCOTT.
Select one:
a. Se creó con éxito y muestra el mensaje de salida correcto para los Id. De empleado existentes y no existentes
b. Se creó correctamente, pero muestra el mensaje de salida correcto solo para las ID de empleados existentes
c. Genera un error porque el atributo %NOTFOUND no se puede usar en combinación con una instrucción SELECT INTO
d. Genera un error porque se debe incluir una excepción definida por el usuario cada vez que se utiliza el atributo
%NOTFOUND en combinación con una instrucción SELECT INTO
The correct answer is: Se creó correctamente, pero muestra el mensaje de salida correcto solo para las ID de empleados
existentes
/
Question 111 Evalúa los siguientes comandos SQL:
Not answered
Marked out of
1.00
El comando para crear una tabla falla. Cuales son las razones de la falla de la sentencia SQL?
d. No se puede usar el valor de secuencia NEXTVAL como valor predeterminado para una columna.
La restricción CHECK define una condición que cada fila debe cumplir. La condición puede usar las mismas construcciones que
las condiciones de consulta, con las siguientes excepciones:
Referencias a las pseudocolumnas de CURRVAL, NEXTVAL, LEVEL y ROWNUM
Una sola columna puede tener múltiples restricciones CHECK que se refieren a la columna en su definición. No hay límite para
el número de restricciones CHECK que puede definir en una columna. Las restricciones CHECK se pueden definir a nivel de
columna o nivel de tabla.
Ejemplo:
The correct answers are: No se puede utilizar SYSDATE en la condición de una restricción de verificación., No se puede usar el
valor de secuencia NEXTVAL como valor predeterminado para una columna.
/
Question 112 Cual de los siguientes enunciados es CORRECTO para los cursores "CURSOR FOR LOOP"?
Not answered
b. Usted tiene que cerrar explicitamente el cursor antes del fin del programa
c. Usted necesita explicitamente declarar la variable que contendra la fila resultado devuelta por el cursor dentro del FOR
LOOP
d. Usted tiene que hacer explicitamente, un FETCH dentro de un "CURSOR FOR LOOP"
e. Usted no necesita explicitamente abrir, cerrar o hacer un FETCH dentro del "CURSOR FOR LOOP"
Para que quede mas claro, el siguiente codigo funciona, demostrando que, no es necesario abrir, cerrar el cursor, o siquiera
declarar la variable que contendra la fila devuelta por el cursor:
The correct answer is: Usted no necesita explicitamente abrir, cerrar o hacer un FETCH dentro del "CURSOR FOR LOOP"
/
Question 113 Se tiene el siguiente procedimiento:
Not answered
Marked out of
1.00
e. EXECUTE add_dept(p_loc=>2500)
proc(a=>"s", b=>"D")
forma invalida:
The correct answers are: EXECUTE add_dept(p_loc=>2500), EXECUTE add_dept('Education', 2500), EXECUTE add_dept('2500',
p_loc =>2500), EXECUTE add_dept(p_loc=>2500, p_name=>'Education')
/
Question 114 Examina el siguiente paquete (ESTHA OTRA VEZ AJAJA):
Not answered
Marked out of
1.00
Qué declaración asignará con éxito $ 75,000,000 a la variable V_MAX_TEAM_SALARY desde un procedimiento independiente
Select one:
a. A esta variable no se le puede asignar un valor desde fuera del paquete.
b. BB_PACK.V_MAX_TEAM_SALARY := 75000000;
c. V_MAX_TEAM_SALARY := 75000000;
d. BB_PACK.ADD_PLAYER.V_MAX_TEAM_SALARY := 75000000;
Para asignar un valor a una variable pública que se declara en el encabezado del paquete, todo lo que se tiene que hacer es
usar la siguiente sintaxis:
nombre_paquete.nombre_variable: = valor;
The correct answer is: BB_PACK.V_MAX_TEAM_SALARY := 75000000;
Question 115 Usted ha decidido deshabilitar el constraint PRIMARY KEY de la columna "empid" y el constrainy CHECK de la columna "job".
Not answered Que pasa cuando usted habilita los constraint nuevamente?
Marked out of
1.00 Select one:
a. Cualquier registro que se haya agregado, y no cumpla con los constraints, se eliminaran automaticamente
d. Solo los valores futuros son verificados que cumplan los constraints
e. Todas las filas existentes son verificadas que cumplan los constraints, y un mensaje de error es desplegado si alguna
fila no cumple con los constraints
The correct answer is: Todas las filas existentes son verificadas que cumplan los constraints, y un mensaje de error es
desplegado si alguna fila no cumple con los constraints
/
Question 116 Examina el siguiente codigo PL/SQL:
Not answered
Marked out of
1.00 ¿Cuál es el resultado de la ejecución?
Select one:
a.
No muestra ninguno de los mensajes DBMS_OUTPUT y da un error porque no se puede usar una declaración de control de
transacción en la sección de excepción de un procedimiento.
b. It displays only
This is my test string. - Debido a que la EXCEPCIÓN debería haberse definido en el bloque anónimo para obtener el mensaje
de error
c. It displays
Output buffer not long enough.
This is my test string.-.
d. It displays only
Output buffer not long enough, and exits the anonymous block.
1. Cuando no se asigna una variable, por defecto oracle la guarda como NULL, y eso no es error en ningun momento
2. Si entra a a la excepcion, que es VALUE_ERROR? es una excepcion que se da cuando a una variable, no le cabe el valor que le
estas asignando (como lo es en este caso, ya que a una variable que solo puede contener 25 caracteres , le estas dando 47).
asi que despliega el mensaje de error, y despliega el mensaje que va despues, ambas. Que valor tiene out_str? ninguno, ya que
fracaso la asignacion.
la B no puede ser porque existe un manejo de excepcion, si no hubiera estado el manejo de excepcion, seria correcta la B, es
como en programacion normal: manejas la excepcion? sigue el flujo normal
no la manejas? todo se va ala mierda
The correct answer is: It displays
Output buffer not long enough.
This is my test string.-.
Question 117 El usuario Mary tiene una vista llamada EMP_DEPT_LOC_VU que se creó en base a las tablas EMPLEADOS, DEPARTAMENTOS y
Not answered UBICACIONES.
Marked out of Ella tiene el privilegio de crear un sinónimo público, y le gustaría crear un sinónimo para esta vista que puedan usar todos los
1.00
usuarios de la base de datos.
¿Qué enunciado de SQL puede usar Mary para realizar esa tarea?
Select one:
a. CREATE SYNONYM EDL_VU FOR EACH USER ON emp_dept_loc_vu;
f.
CREATE SYNONYM EDL_VUO N emp_dept_loc_vu FOR EACH USER;
/
Question 118 Examina el siguiente codigo PL/SQL:
Not answered
Marked out of
1.00
Select one:
a. Una sentencia no es permitida en la parte de "declaracion" de un subprograma
The correct answer is: La variable v_name debe declararse antes de declarar el procedimiento LOG_EXEC.
/
Question 119 Aquí está la estructura de la tabla EMPLEADOS que existe en el esquema:
Not answered
Marked out of
1.00
Se creó con éxito un procedimiento GET_MAX para encontrar el salario máximo en el departamento de un empleado específico.
Luego se codifica un bloque PL / SQL para mostrar el salario máximo en los departamentos de Los primeros cinco empleados
en la tabla de EMPLEADOS.
Select one:
a. Da un error porque el uso del atributo %ROWCOUNT no es válido
b. Se ejecuta con éxito pero no da el resultado requerido porque la llamada al procedimiento restablece el valor
%ROWCOUNT
fuente: https://docs.oracle.com/cd/B14117_01/appdev.101/b10807/13_elems011.htm?
fbclid=IwAR3Wh9WdorvEzqdpq3PVbsesplwivCsIttbN-vT68qRhgmN5-8KKKv_Rbl0
/
Question 120 Evalue el siguiente bloque PL/SQL
Not answered
Marked out of
1.00
Select one:
a. 4
b. 0
c. 8
d. 6
e. 10
b. cuando una sentencia DELETE en el bloque PL/SQL elimina mas de una fila
c. Cuando una sentencia SELECT en el bloque PL/SQL devuelve mas de una fila
The correct answer is: Cuando una sentencia SELECT en el bloque PL/SQL devuelve mas de una fila
/
Question 122 Examina el siguiente codigo:
Not answered
Marked out of
1.00
¿Qué afirmación es correcta sobre el bloque de código sin nombre al final del cuerpo de un paquete?
Select one:
a. Genera un error porque V_TAXRATE es una variable pública que ya está inicializada en la especificación del paquete.
b. Actúa como un bloque de inicialización de paquetes que se ejecuta cada vez que se invoca un subprograma de
paquetes dentro de la sesión del usuario y actualiza la variable inicializada.
valor.
c. Genera un error porque todos los bloques de código en un cuerpo de paquete deben tener un nombre.
d. Actúa como un bloque de inicialización de paquetes que se ejecuta una vez, cuando el paquete se invoca por primera
vez dentro de la sesión del usuario.
podemos colocar un bloque al final del cuerpo del paquete y este actuara como un inicializador de variables del package
specification, este bloque se ejecutara una sola vez cuando se mande llamar el package body y generalmente siempre se
colocan hasta el final del package body.
The correct answer is: Actúa como un bloque de inicialización de paquetes que se ejecuta una vez, cuando el paquete se invoca
por primera vez dentro de la sesión del usuario.
/
Question 123 Mira el siguiente codigo PL/SQL
Not answered
Marked out of
1.00
Select one:
a. Puede llamar a la función empaquetada BONUS.CALC_SALARY desde un comando INSERT contra la tabla EMPLOYEES.
b. D. Puede llamar a la función empaquetada BONUS.CALC_SALARY desde un comando UPDATE contra la tabla
EMPLOYEES.
c. C. Puede llamar a la función empaquetada BONUS.CALC_SALARY desde el comando DELETE contra la tabla
EMPLOYEES.
d. Puede llamar a la función empaquetada BONUS.CALC_SALARY desde un comando SELECT contra la tabla EMPLEADOS.
Para que el servidor Oracle ejecute una instrucción SQL que llame a una función almacenada, debe conocer el nivel de pureza
de una función almacenada, es decir, si las funciones están libres de efectos secundarios.
Los efectos secundarios son cambios en las tablas de la base de datos o variables empaquetadas públicas (aquellas declaradas
en una especificación de paquete). Los efectos secundarios podrían retrasar la ejecución de una consulta, obtener resultados
dependientes de la orden (por lo tanto, indeterminados), o requerir que las variables de estado del paquete se mantengan en
todas las sesiones del usuario. No se permiten varios efectos secundarios cuando se llama a una función desde una consulta
SQL o una declaración DML. Por lo tanto, las siguientes restricciones se aplican a las funciones almacenadas llamadas desde
expresiones SQL: savepoint, alterar el sistema o la declaración de sesión o modificar de otro modo la declaración DML de la
base de datos
The correct answer is: Puede llamar a la función empaquetada BONUS.CALC_SALARY desde un comando SELECT contra la tabla
EMPLEADOS.
Question 124 ¿Qué afirmaciones son correctas respecto a los índices? (Elija todo lo que corresponda.)
Not answered
c. Una restricción CLAVE PRINCIPAL o CLAVE ÚNICA en la tabla crea automáticamente un índice único.
d. Una restricción FOREIGN KEY en una columna en una tabla crea automáticamente un índice no único
The correct answers are: Para cada operación de lenguaje de manipulación de datos (DML) realizada, los índices
correspondientes se actualizan automáticamente., Una restricción CLAVE PRINCIPAL o CLAVE ÚNICA en la tabla crea
automáticamente un índice único., Cuando se elimina una tabla, los índices correspondientes se eliminan automáticamente
/
Question 125 ¿Qué afirmaciones son ciertas acerca de las restricciones?
Not answered
c. La restricción (CONSTRAINT) NOT NULL garantiza que no se permiten valores nulos para la columna
d. Las restricciones (CONSTRAINT) PRIMARY KEY y FOREIGN KEY crean un índice ÚNICO.
The correct answers are: Se crea un índice UNIQUE para columnas con restricciones (CONSTRAINTS) PRIMARY KEY y UNIQUE.,
La restricción (CONSTRAINT) NOT NULL garantiza que no se permiten valores nulos para la columna
Marked out of
1.00
Identifique la declaración para abrir el cursor que obtiene el resultado, que consiste en empleados con JOB_ID como
"ST_CLERK" y un salario superior a 3000.
Lo mismo que en progra, los parametros tienen que ser del tipo dato y en el mismo orden como se declararon.
SQL no es caseSensitive. EMP = emp.
PD: se podria decir que la D esta mala porque falta el punto y coma, pero para mi sigue estando bien la sintaxis de apertura,
que es lo que se evalua
The correct answers are: OPEN c1 (emp_job, 3000);, OPEN c1 (‘ST_CLERK’, 3000), OPEN c1 (EMP_job, emp_salary);
/
Question 127 Examine el siguiente codigo PL/SQL
Not answered
Marked out of
1.00
Suponga que la sentencia DELETE no ha borrado filas. Cual seria el valor de v_result?
Select one:
a. 0
b. 1
c. NULL
d. TRUE
Resumen:
- Toda sentencia DML (INSERT, UPDATE, DELETE) o SELECT crea un cursor implicito, por ende se pueden ocupar todos los
atributos del cursor implicito (para acceeder a un atributo del cursor implicito, se ocupa SQL%NOMBRE_ATRIBUTO)
hasta que o se ejecute una sentencia DML o select, mantiene el valor NULL,
Cuando se ejecuta una sentencia DML, si el SELECT devolvio 1 o mas filas, o el INSERT, UPDATE DELETE afecto 1 o mas filas,
devuelve TRUE, en caso contrario (cuando no afecto ninguna fila, o no devolvio resultados el select) devuelve FALSE
%ISOPEN
Siempre devuelve FALSE, debido a que un cursor implicito se cierra utomaticamente despues de ejecutado
%NOTFOUND
devuelve TRUE si INSERT, UPDATE, DELETE no afectaron filas, o SELECT no devolvio ninguna fila
devuelve FALSE si INSERT, UPDATE, DELETE afectaron filas, o SELECT devolvio 1 o más registros
%ROWCOUNT
devuelve la cantidad de filas afectadas por el INSERT, UPDATE,, DELETE o la cantidad de filas que devolvio el SELECT
en caso de que se este hablando de un SELECT de cursor implicito (osea una sentencia: SELECT ... INTO) .... si devuelve mas de
1 registro, se ejecuta una excepcion TOO_MANY_ROWS y se coloca el valor de %ROWCOUNT en 1
SELECT de un cursor implicito (SELECT ... INTO) devolvera una excepcion NO_DATA_FOUND si el SELECT no devuelve
ninguna fila
/
Question 128 Examine el siguiente bloque PL / SQL:
Not answered
DECLARE
Marked out of
1.00 TYPE EmpListIS VARRAY(2) OF employees.employee_id%TYPE NOT NULL;
DBMS_OUTPUT.PUT_LINE(v_employees.COUNT);
v_employees.EXTEND;
v_employees(1) := 30;
Ahora examine la tabla empleado
Select one:
a. Genera un error porque la declaración de la varray no es válida.
Genera un error porque la declaración de la varray no es válida.
Genera un error porque la declaración de la varray no es válida.
Marked out of
1.00
Select one:
a. DELETE gen_email_name;
c. REMOVE gen_email_name;
/
Question 130 Examine la estructura de las tablas ORD y ORD_ITEMS.
Not answered
Marked out of
1.00
La columna ORD_NO es la CLAVE PRIMARIA en la tabla ORD y las columnas ORD_NO y ITEM_NO son la CLAVE PRIMARIA
compuesta en la tabla ORD_ITEMS.
The correct answers are: CREATE INDEX ord_idx2 ON ord_items(ord_no);, CREATE INDEX ord_idx3 ON ord_items(item_no);
Marked out of
1.00
Select one:
a. 0
b. 2
c. 1
d. 3
/
Question 132 Examine la estructura de las tablas de SALES, CUSTOMERS, PRODUCTS e ITEMS.
Not answered
Marked out of
1.00
La columna PROD_ID es la clave externa en la tabla de SALES, que hace referencia a la tabla de PRODUCTS. De manera similar,
las columnas CUST_ID y TIME_ID también son claves externas en la tabla de SALES que hacen referencia a las tablas de
CUSTOMERS y TIMES, respectivamente.
Evalúa el siguiente comando para CREAR TABLA:
Select one:
a. La tabla NEW_SALES se crearía y todas las restricciones FOREIGN KEY definidas en las columnas especificadas se
pasarían a la nueva tabla
b. La tabla NEW_SALES se crearía y todas las restricciones NOT NULL definidas en las columnas especificadas se pasarían
a la nueva tabla
c. La tabla NEW_SALES no se crearía porque el valor DEFAULT no se puede especificar en la definición de columna
d. La tabla NEW_SALES no se crearía porque los nombres de columna en el comando CREATE TABLE y la cláusula SELECT
no coinciden
AS subquery;
Se debe hacer coincidir el número de columnas especificadas con el número de columnas de la subconsulta, Definir columnas
con nombres de columnas y valores por defecto.
Pautas:
1. La tabla se crea con los nombres de columna especificados y las filas recuperadas por la instrucción SELECT se insertan en
la tabla.
2. La definición de columna solo puede contener el nombre de la columna y el valor predeterminado.
3. Si se proporcionan las especificaciones de las columnas, el número de columnas debe ser igual al número de columnas en
la lista SELECT de la subconsulta.
4. Si no se proporcionan especificaciones de columna, los nombres de columna de la tabla son los mismos que los nombres
de columna en la subconsulta.
/
La base de datos de Oracle define automáticamente en las columnas de la nueva tabla cualquier restricción NO NULA que se
haya creado explícitamente en las columnas correspondientes de la tabla seleccionada si la subconsulta selecciona la columna
en lugar de una expresión que contenga la columna. Si alguna fila viola la restricción, la base de datos no crea la tabla y
devuelve un error.
Las restricciones NO NULAS que fueron creadas implícitamente por Oracle Database en las columnas de la tabla seleccionada
(por ejemplo, para las claves primarias) no se transfieren a la nueva tabla.
Además, las claves primarias, las claves únicas, las claves externas, las restricciones de verificación, los criterios de partición, los
índices y los valores predeterminados de las columnas no se transfieren a la nueva tabla.
Si la tabla seleccionada está particionada, puede elegir si la nueva tabla se particionará de la misma manera, se dividirá de
manera diferente o no. La partición no se transfiere a la nueva tabla. Especifique cualquier partición deseada como parte de la
sentencia CREATE TABLE antes de la cláusula de subconsulta AS.
The correct answer is: La tabla NEW_SALES se crearía y todas las restricciones NOT NULL definidas en las columnas
especificadas se pasarían a la nueva tabla
Select one:
a. CREATE ROLE manager;
GRANT create table, create voewTO manager;
GRANT manager ROLE TO BLAKE,CLARK;
/
Question 134 Segun el bloque PL/SQL
Not answered
Marked out of
1.00
Y la siguiente sentencia
Al ejecutar la declaración PL / SQL anterior para crear el contexto SALES_ORDERS_CTZ para usar el paquete
OE.SALES_ORDERS_PKG.
ERROR en la línea 2:
ORA-28112: Failed to execute policy function.
¿Cuál podría ser la razón del error?
Select one:
a. El usuario no tiene suficientes privilegios en el paquete DBMS_SESSION
b. Los subprogramas dentro del paquete no se han creado con el derecho de invocadores
The correct answer is: La función THE_PREDICATE tiene un número insuficiente de parámetros en el paquete
/
Question 135 mira el siguiente codigo:
Not answered
Marked out of
1.00
SERVEROUTPUT está activado para la sesión, ¿Qué afirmación es cierta sobre la ejecución del código?
Select one:
a. La ejecución falla y lanza excepciones si no se encuentra ningún empleado con EMPLOYEE_ID 115.
d. La ejecución es exitosa, pero muestra un resultado incorrecto si no se encuentra ningún empleado con EMPLOYEE_ID
115.
/
Question 136
Not answered
Marked out of
1.00
Select one:
a. Cada búsqueda recupera la siguiente fila consecutiva y asigna valores a las variables de destino.
b. Producen un error porque debe cerrar y volver a abrir el cursor antes de cada declaración de obtención.
c. Cada recuperación recupera la primera fila y asigna valores a las variables de destino.
d. Solo la primera recuperación recupera la primera fila y asigna valores a las variables de destino; la segunda genera un
error.
recordar que el puntero dentro del active set siempre apunta a la primera fila, cuando queremos ingresar al cursor debemos
primero abrirlo, con la sentencia FETCH recuperamos una fila de active set siempre comenzando por el numero del puntero
actual es decir siempre en la primera fila, después de la primera referencia el puntero avanza hacia la siguiente fila, por lo que
cuando se realiza el segundo FETCH se recupera la fila2 y así sucesivamente, esto lo podríamos optimizar si utilizaramos un
ciclo, para obtener todos los elementos del cursor. Como sigue:
BEGIN
The correct answer is: Cada búsqueda recupera la siguiente fila consecutiva y asigna valores a las variables de destino.
/
Question 137 Se desea crear una tabla ORD_DETAIL para almacenar los detalles de un pedido realizado con los siguientes requisitos
Not answered comerciales:
Marked out of
1) El ID de pedido será único y no puede tener valores nulos.
1.00
2) La fecha del pedido no puede tener valores nulos y el valor predeterminado debe ser la fecha actual.
3) El importe del pedido no debe ser inferior a 50.
4) El estado del pedido tendrá valores enviados o no enviados.
5) El modo de pago del pedido debe ser cheque, tarjeta de crédito o contra reembolso (COD).
¿Cuál es la declaración de DDL válida para crear la tabla ORD_DETAIL?
Select one:
a. CREATE TABLE ord_details(ord_id NUMBER(2),ord_date DATE NOT NULL DEFAULT SYSDATE,ord_amount NUMBER(5, 2)
CONSTRAINT
ord_amount_minCHECK (ord_amount >= 50),ord_status VARCHAR2(15) CONSTRAINT ord_status_chkCHECK (ord_status IN
('Shipped', 'Not
Shipped')),ord_pay_mode VARCHAR2(15) CONSTRAINT ord_pay_chkCHECK (ord_pay_mode IN ('Cheque', 'Credit Card','Cash
On Delivery')));
b. CREATE TABLE ord_details(ord_id NUMBER(2) CONSTRAINT ord_id_pk PRIMARY KEY,ord_date DATE DEFAULT SYSDATE
NOT NULL,ord_amount
NUMBER(5, 2) CONSTRAINT ord_amount_minCHECK (ord_amount >= 50),ord_status VARCHAR2(15) CONSTRAINT
ord_status_chkCHECK (ord_status IN
('Shipped', 'Not Shipped')),ord_pay_mode VARCHAR2(15) CONSTRAINT ord_pay_chkCHECK (ord_pay_mode IN ('Cheque',
'Credit Card','Cash On
Delivery')));
c. CREATE TABLE ord_details(ord_id NUMBER(2) CONSTRAINT ord_id_uk UNIQUE NOT NULL,ord_date DATE DEFAULT
SYSDATE NOT NULL,ord_amount
NUMBER(5, 2) CONSTRAINT ord_amount_minCHECK (ord_amount > 50),ord_status VARCHAR2(15) CONSTRAINT
ord_status_chkCHECK (ord_status IN
('Shipped', 'Not Shipped')),ord_pay_mode VARCHAR2(15) CONSTRAINT ord_pay_chkCHECK (ord_pay_mode IN ('Cheque',
'Credit Card','Cash On
Delivery')));
d. CREATE TABLE ord_details(ord_id NUMBER(2) CONSTRAINT ord_id_nn NOT NULL,ord_date DATE DEFAULT SYSDATE
NOT NULL,ord_amount
NUMBER(5, 2) CONSTRAINT ord_amount_minCHECK (ord_amount > 50),ord_status VARCHAR2(15) CONSTRAINT
ord_status_chkCHECK (ord_status IN
('Shipped', 'Not Shipped')),ord_pay_mode VARCHAR2(15) CONSTRAINT ord_pay_chkCHECK (ord_pay_mode IN ('Cheque',
'Credit Card','Cash On
Delivery')));
The correct answer is: CREATE TABLE ord_details(ord_id NUMBER(2) CONSTRAINT ord_id_pk PRIMARY KEY,ord_date DATE
DEFAULT SYSDATE NOT NULL,ord_amount
NUMBER(5, 2) CONSTRAINT ord_amount_minCHECK (ord_amount >= 50),ord_status VARCHAR2(15) CONSTRAINT
ord_status_chkCHECK (ord_status IN
('Shipped', 'Not Shipped')),ord_pay_mode VARCHAR2(15) CONSTRAINT ord_pay_chkCHECK (ord_pay_mode IN ('Cheque', 'Credit
Card','Cash On
Delivery')));
/
Question 138 Cuales condiciones dentro de un bloque PL/SQL pueden causar que ocurra una excepcion?
Not answered
Marked out of
1.00
Select one:
a. sentencia SELECT no posee una clausula WHERE
c. el tipo de datos devuelto por el SELECT son inconsistentes con los tipos de datos en la clausula INTO
una sentencia SELECT .. INTO devuelve mas de una fila = excepcion TOO_MANY_ROWS
The correct answers are: una sentencia SELECT .. INTO no devuelve una fila, una sentencia SELECT .. INTO devuelve mas de una
fila
Question 140 Dado un LOOP PL/SQL, usted necesita comprobar si la sentencia FETCH fue exitosa para el cursor que se encuentra ocupando.
Not answered Cual atributo del cursor puede ocupar para lograr el objetivo?
Marked out of
1.00 Select one:
a. SQL%ISOPEN
b. SQL % FOUND
c. SQL % ROWCOUNT
d. Esta tarea no puede ser lograda por medio de los atributos del cursor
/
Question 141 Mira el codigo:
Not answered
Marked out of
1.00
Select one:
a. Da un error porque la variable V_CUSTOMER tiene diferentes tipos en los bloques anidados
The correct answer is: Ambas declaraciones de salida muestran valores diferentes.
/
Question 142 Examine la estructura de la tabla DEPARTAMENTOS:
Not answered
Marked out of
1.00
Examine el código de la imagen, planea usarlo para crear un paquete para obtener los detalles de un empleado utilizando una
variable de host en el lado del cliente,bajo los siguientes comandos:
Select one:
a. La especificación del paquete da un error en la compilación porque los tipos de variables de cursor no pueden
ser definidos en la especificación.
b.
La especificación del paquete da un error en la compilación porque el parámetro variable del cursor se especificó antes de
definirlo
c. El paquete se ejecuta con éxito pero no pasa los datos requeridos a la variable del host porque el cursor se cierra antes
de que se ejecute la instrucción PRINT
d. El paquete se ejecuta con éxito y pasa los datos requeridos a la variable del host
The correct answer is: El paquete se ejecuta con éxito pero no pasa los datos requeridos a la variable del host porque el cursor
se cierra antes de que se ejecute la instrucción PRINT
/
Question 143 Examinar la estructura de la tabla employees
Not answered
Marked out of
1.00
Select one:
a. Da un error porque la función AVG no se puede usar en un bloque PL / SQL
c. Da un error porque las funciones AVG y DECODE no se pueden usar en un bloque PL / SQL
Todo lo que se ocupa en SQL normal es usado en PL/SQL (incluso los selects que traen multiples filas, para eso estan los
cursores)
The correct answer is: Se ejecuta con éxito.
/
Question 144 Examina el siguiente codigo:
Not answered
Marked out of
1.00
Select one:
a. La excepción PAST_DUE generada en el subbloque hace que el programa finalice abruptamente porque no hay un
controlador de excepción en el subbloque.
b. La excepción PAST_DUE generada por el bloque que lo contiene no se propaga al bloque externo y es manejada por el
controlador de excepciones WHEN OTHERS
c. La excepción generada en el código es manejada por el controlador de excepciones para la excepción PAST_DUE.
d. No se ejecuta porque no puede declarar una excepción con un nombre similar en el subbloque.
Marked out of
1.00
Select one:
a. Debe crear una variable de entorno X y ejecutar el comando EJECUTAR: X: = CALCTAX (1000) ;.
Cuando se llama a una función debe asignar al valor devuelto a una variable de vinculación, y se necesita el comando EXECUTE
para ejecutar la función.
The correct answer is: Debe crear una variable de entorno X y ejecutar el comando EJECUTAR: X: = CALCTAX (1000) ;.
/
Question 146 Debe crear un trigger para garantizar que los clientes en la categoría "A" y "B" tengan un límite de crédito de más de 8000.
Not answered
Examine el siguiente trigger:
Marked out of
1.00
Select one:
a. Da un error en la compilación porque el nuevo calificador está prefijado con dos puntos.
d. Da un error en la compilación porque el nuevo calificador solo se puede usar en los triggers de nivel de fila
Question 147
Examina este paquete (ESTHA JAAJAJ):
Not answered
Marked out of
1.00
Select one:
a. El valor de DISCOUNT_RATE se establece en 0.10 cuando el paquete se invoca por primera vez en una sesión.
c. El valor de DISCOUNT_RATE se establece en 1.00 cada vez que se invoca el procedimiento DISPLAY_PRICE.
d. El valor de DISCOUNT_RATE se establece en 0.10 cada vez que se invoca el paquete en una sesión.
The correct answer is: El valor de DISCOUNT_RATE se establece en 0.10 cuando el paquete se invoca por primera vez en una
sesión.
/
Question 148 ¿Cuáles afirmaciones son verdaderas con respecto a las restricciones?
Not answered
b. Todas las restricciones (constraint) se pueden definir en el nivel de columna así como en el nivel de tabla.
c. Una columna con la restricción ( unique constraint) única puede contener valores nulos.
The correct answers are: Una columna con la restricción ( unique constraint) única puede contener valores nulos., Se puede
deshabilitar una restricción (constraint) incluso si la columna de restricción contiene datos.
Marked out of
1.00
Select one:
a. UPDATE_EMP
b. UPDATE_SAL
c. INSERT_EMP
d. DELETE_EMP
e. CALC_TAX
Los paquetes privados son los que se declaran en el body del paquete, los publicos los que se declaran en el header del
paquete.
The correct answer is: UPDATE_SAL
/
Question 150 Examina el siguiente paquete:
Not answered
Marked out of
1.00
Se realiza un cambio en el cuerpo del paquete BB_PACK. El cuerpo BB_PACK está recompilado.
¿Qué sucede si el procedimiento independiente VALIDATE_PLAYER_STAT hace referencia a este paquete?
Select one:
a. VALIDATE_PLAYER_STAT no se puede volver a compilar y se debe volver a crear.
c. VALIDATE_PLAYER_STAT no se invalida.
d. VALIDATE_PLAYER_STAT se invalida.
Si el cuerpo del paquete cambia y la especificación del paquete no cambia, el procedimiento independiente que hace
referencia a una construcción de paquete sigue siendo válido.
Si la especificación del paquete cambia, el procedimiento externo que hace referencia a una construcción de paquete se
invalida al igual que el cuerpo del paquete.
Question 151 ¿Qué afirmaciones son verdaderas con respecto a los índices?
Not answered
d. Se puede crear más de un índice utilizando las mismas columnas si especifica combinaciones de columnas claramente
diferentes
/
Question 152 Que deberia de hacer usted, despues de ejecutar un comando FETCH en un bloque PL/SQL?
Not answered
b. Comprobar los registros por medio de los atributos del cursor (%)
c. Cerrar el cursor
d. Inicializar LOOP
Marked out of
1.00
Select one:
a. El procedimiento PROC3 debe ser declarado en la especificación del paquete.
d. El encabezado del procedimiento PROC3 debe declararse al principio del cuerpo del paquete.
/
Question 154 Examina el siguiente codigo:
Not answered
Marked out of
1.00
Select one:
a. Se ejecuta y muestra nulo.
Cualquier variable que se declare y no se inicialice tiene por defecto el valor NULL, cuando entral al if pasa al else.
The correct answer is: Se ejecuta y el control va a la sentencia else.
Marked out of
1.00
Select one:
a. Produce un error porque se viola la restricción CHECK al asignar un valor al campo emprec.deptid en el registro
The correct answers are: Se ejecuta y la salida es emprec.deptname: , Produce un error porque se asigna al campo
emprec.empid un valor NULL en el registro.
/
Question 156 Mira las tablas emp y dept
Not answered
Marked out of
1.00
Ahora el trigger que se define en la tabla DEPT para imponer la actualización y eliminar las acciones referenciales restringidas en
la clave principal de la tabla DEPT.
Select one:
a. Compila exitosamente pero da un error en la ejecución porque no es un disparador a nivel de fila
Tiene que ser un trigger de nivel de fila, no podemos usar NEW y OLD en el activador de nivel de instrucción (statement level
trigger.)
The correct answer is: Da un error en la compilación porque no es un trigger de nivel de fila.
/
Question 157 Examina el siguiente codigo PL/SQL:
Not answered
Marked out of
1.00
Que ocurre?
Select one:
a. La declaración falla porque las funciones no contienen código para finalizar la transacción.
b. La declaración falla porque las funciones llamadas desde expresiones SQL no pueden realizar DML.
c. La instrucción SQL se ejecuta correctamente, porque las instrucciones UPDATE y DELETE se ignoran en las funciones
almacenadas que se llaman desde expresiones SQL.
e. El empleado 108 tiene su nombre de correo electrónico actualizado según el resultado de la devolución de la función.
The correct answer is: La declaración falla porque las funciones llamadas desde expresiones SQL no pueden realizar DML.
/
Question 158 Se ejecuto el siguiente comando:
Not answered
SQL> DROP TABLE empleados;
Marked out of
1.00 ¿Cuáles tres afirmaciones son verdaderas?
Referencia: http://www.sqlcourse.com/drop.html
The correct answers are: Todos los índices y restricciones definidos en la tabla que se está eliminando también se eliminan., Las
secuencias utilizadas en la tabla de empleados se vuelven inválidas., La tabla de empleados se mueve a la papelera de reciclaje.
Marked out of
1.00
¿Qué declaración asignará con éxito .333 a la variable V_PLAYER_AVG de un procedimiento fuera del paquete?
Select one:
a. BB_PACK.V_PLAYER_AVG := .333;
b. BB_PACK.UPD_PLAYER_STAT.V_PLAYER_AVG := .333;
d. V_PLAYER_AVG := .333;
The correct answer is: A esta variable no se le puede asignar un valor desde fuera del paquete.
/
Question 160 Eres dueño de una tabla llamada EMPLOYEES con esta estructura de tabla:
Not answered
Marked out of
1.00
DELETE employees;
Select one:
a. You get an error because of a primary key violation
b. The data in the EMPLOYEES table is deleted but not the structure.
Se puede eliminar las filas existentes de una tabla utilizando la sentencia DELETE.
DELETE statement.
The correct answer is: The data in the EMPLOYEES table is deleted but not the structure.
Question 161 ¿Qué dos afirmaciones son verdaderas acerca de la incorporación de subprogramas PL / SQL? (Escoge dos.)
Not answered
c. Los programas PL / SQL que utilizan subrutinas auxiliares relativamente grandes son buenos candidatos para dejar en
una sola linea
The correct answers are: Solo las subrutinas locales pueden estar en una sola linea, PLSQL_OPTIMIZE_LEVEL debe establecerse
en un valor mayor o igual a 2
/
Question 162 Cual enunciado es cierto respecto a los cursores implicitos?
Not answered
b. Los cursores son declarados implicitos para las sentencias DML y SELECT
c. Los programadores pueden declarar cursores implicitos en la seccion "DECLARATION" por medio de sentencias del tipo
"CURSOR TYPE"
d. Los programadores necesitan cerrar todos los cursores implicitos antes del fin del programa PL/SQL
Esta pregunta es mas que todo de teoria. Para mayor informacion refierase a:
https://elbauldelcodigo.com/cursores-implicitos-en-plsql/46/0
https://stackoverflow.com/questions/42507734/implicit-cursor-and-no-data-found-exception
En resumen:
- PL/SQL declara un cursor implícitamente para todas las declaraciones de manipulación de datos SQL. incluidas las consultas
que devuelven solo una fila (INSERT, DELETE, UPDATE, SELECT)
- Debe declarar un cursor explícito para las consultas que devuelven más de una fila.
The correct answer is: Los cursores son declarados implicitos para las sentencias DML y SELECT
Marked out of
1.00
¿Qué declaración, cuando se agrega al procedimiento anterior, invocará con éxito el procedimiento UPD_BAT_STAT?
Select one:
a. EXECUTE UPD_BAT_STAT(V_ID);
b. UPD_BAT_STAT(V_ID);
c. START UPD_BAT_STAT(V_ID);
d. RUN UPD_BAT_STAT(V_ID);
/
Question 164 CUST_ID y CUST_LIMIT son columnas existentes en la tabla CUSTOMER.
Not answered
Examine el siguiente trigger:
Marked out of
1.00
Select one:
a. Se compila exitosamente, pero da un error cuando el límite de crédito se actualiza en la tabla de CLIENTES porque la
declaración PRAGMA AUTONOMOUS_TRANSACTION debe introducirse en el trigger.
c. Compila y se dispara con éxito cuando el límite de crédito se actualiza en la tabla de clientes.
Marked out of
1.00
¿Qué declaración de procedimiento COMBINE sobrecargada se puede agregar a esta especificación de paquete?
Select one:
a. concat_all (p_num_val varchar2, p_char_val NUMBER);
c. PROCEDURE combine;
/
Question 166 Examine la estructura de la tabla departments en el esquema SCOTT.
Not answered
Marked out of
1.00
El procedimiento anterior es creado por el usuario SCOTT. Otro usuario JONES necesita usar el procedimiento.
¿Qué afirmaciones son verdaderas en el escenario anterior? (Escoge dos.)
Cuando se ejecuta un procedimiento con derechos de invocador, el procedimiento se ejecuta con los privilegios del usuario
actual, es decir, el usuario que invoca el procedimiento.
Entonces como el usuario JONES no tiene privilegios sobre el schema de SCOTT, al usuar los derechos de invocador lo va a
mandar a la mierda, mientras si lo ejecuta con los derechos de invocador podra realizarlo sin ningun problema, ademas solo
necesita darle el permiso a jones del procedimiento ya que si tiene ese permiso inherentemente tendra permiso de insercion.
The correct answers are: JONES ejecuta el procedimiento con los derechos del definidor., SCOTT debe otorgar solo el privilegio
de ejecución de el procedimiento a JONES.
/
Question 167 Examine la estructura de la tabla STUDENTS
Not answered
Marked out of
1.00
Que sentencia permite agregar una columna JUSTO DESPUES DE LA COLUMNA "NAME"?
Select one:
a. ALTER TABLE student ADD COLUMN(phone varchar2(9)) POSITION 3;
c. No se puede especificar la posicion de una columna cuando una nueva columna es agregada
/
Question 168 Segun la siguiente estructura
Not answered
Marked out of
1.00
Identifique las secciones del código que deben modificarse para mejorar el rendimiento. (Elija todas las que corresponda.)
/
Question 169 ¿Qué afirmación es cierta en este escenario?Se creó una tabla de pedidos con la siguiente descripción:
Not answered
Marked out of
1.00
Se han insertado algunas filas en la tabla. Después de algún tiempo, se desea modificar la tabla creando la restricción PRIMARY
KEY en la columna ORD_ID.
Select one:
a. Se puede agregar la restricción de clave principal incluso si existen datos, siempre que no haya valores duplicados
Marked out of
1.00
c. EXECUTE INSERT_TEAM;