Ep2 La Ultima Esperanza Bad

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 112

Dashboard / My courses / fus / BAD / EP2- LA ULTIMA ESPERANZA BAD

Started on Wednesday, 3 July 2019, 2:29 PM


State Finished
Completed on Wednesday, 3 July 2019, 3:55 PM
Time taken 1 hour 25 mins
Marks 47.67/170.00
Grade 2.80 out of 10.00 (28%)

Question 1 Examine la estructura de la tabla STUDENT


Correct

Mark 1.00 out of


1.00

la columna GRADUATION es una llave foranea a la tabla "graduate". Examine la tabla graduate

Cual de las sentencias update generara el error


ORA-02291 integrity constraint(sys_c23) violated parent key not found?

Select one:

a.

b.

c. 

d.

Your answer is correct.

The correct answer is:

/
Question 2 examinar el código:
Correct

Mark 1.00 out of


1.00

¿Por qué el código da un error en la ejecución?

Select one:
a. porque la variable WORD_LIST no es visible en el procedimiento wording 

b. porque la variable lexicon no es visible en el procedimiento ADD_ENTRY

c. porque la variable léxicon no está inicializada en la el procedimiento wording

d. porque el parámetro WORD_LIST en modo out no puede ser de un tipo de datos de registro

Your answer is correct.

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

Mark 1.00 out of


1.00

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. Genera un error porque la definición del array no es válida.

Your answer is correct.

The correct answer is: Se ejecuta con éxito y da la salida correcta.

Question 4 Debe deshabilitar todos los triggers en la tabla EMPLEADOS.


Correct
¿Qué comando logra esto?
Mark 1.00 out of
1.00
Select one:
a. ALTER employees DISABLE ALL TRIGGERS;

b. ALTER TRIGGERS ON TABLE employees DISABLE;

c. ALTER TABLE employees DISABLE ALL TRIGGERS; 

d.  Ninguno de estos comandos; no puede deshabilitar varios triggers en una tabla en un comando.

Your answer is correct.


The correct answer is: ALTER TABLE employees DISABLE ALL TRIGGERS;

/
Question 5 Mira el siguiente trigger
Correct

Mark 1.00 out of


1.00

¿Cómo se corrige el error?

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. 

c. Eliminar la declaración DBMS_OUTPUT porque no está permitido en un trigger.

d. Cambiar el tipo de activador a BEFORE DELETE.

Your answer is correct.

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.

Question 6 La estructura de la tabla DEPT es la siguiente:


Correct

Mark 1.00 out of


1.00

Examine el siguiente código:

Cual es la sentencia PL/SQL que despliega la locación del departamento seleccionado?

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);

Your answer is correct.


Como aclaratorio, cuando se ocupa %ROWTYPE, automaticamente la variable contendrá todas las columnas de la tabla como
tambien sus nombres, por consiguiente:

Dept_rec dept%ROWTYPE Contendra las siguientes variables con su respectivo nombre:


- dept_no Number(25)

- dname VARCHER2(14)
- loc VARCHER2(13)

The correct answer is: DBMS_OUTPUT.PUT_LINE(dept_rec.loc);

/
Question 7 En cual seccion de un bloque PL/SQL es invocada una excepcion creada por el usuario?
Correct

Mark 1.00 out of Select one:


1.00
a. Seccion de manejo de errores (EXCEPTION)

b. Seccion declarativa (DECLARE) del PL/SQL 

c. Seccion ejecutable del PL/SQL 

d. La cabecera del bloque PL/SQL

Your answer is correct.


The correct answer is: Seccion ejecutable del PL/SQL

/
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.

Your answer is correct.

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.

The correct answer is:

/
Question 9 ¿Qué afirmación es cierta con respecto a los sinónimos?
Correct

Mark 1.00 out of Select one:


1.00
a. Los sinónimos se usan para hacer referencia solo a aquellas tablas que son propiedad de otro usuario.

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. 

d.  Los sinónimos solo se pueden crear para una tabla.

Your answer is correct.


The correct answer is: 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 

d. El bloque no se ejecutará porque no se ha inicializado la variable

Your answer is correct.


Tomando como referencia https://www.tutorialspoint.com/plsql/plsql_variable_types.htm
Toda variable declarada mientras no sea inicializada, será NULL

The correct answer is: NULL

/
Question 11 Mira la tabla de empleados:
Correct

Mark 1.00 out of


1.00

Ahora el codigo:

¿Cuál es el resultado cuando se ejecuta el código?

Select one:
a.  Ambos bloques se compilan y ejecutan exitosamente cuando son llamados. 

b. El procedimiento CALC_SAL da un error en la compilación porque el procedimiento RAISE_SALARY no puede llamar a la


función de aumento independiente.

c. Ambos bloques se compilan correctamente, pero el procedimiento CALC_SAL da un error en la ejecución.

d. El procedimiento CALC_SAL da un error en la compilación porque la variable amt debe declararse en el procedimiento
RAISE_SALARY.

Your answer is correct.


The correct answer is:  Ambos bloques se compilan y ejecutan exitosamente cuando son llamados.

/
Question 12 Dada la siguiente declaracion de cursor:
Correct

Mark 1.00 out of


1.00

Porque esta declaracion causa un error?

Select one:
a. La clausula INTO no se encuentra dentro del SELECT

b. Un tipo de dato escalar no fue especificado en los parametros 

c. Una clausula WHERE no es permitida dentro de un cursor

d. El modo del parametro no esta definido

Your answer is correct.


Referencia: https://www.oracletutorial.com/plsql-tutorial/plsql-cursor-with-parameters/
La sintaxis para declarar un cursor parametrizado es:

por lo que la manera correcta debia de ser:

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

Your answer is correct.


The correct answer is: CREATE PUBLIC 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

Mark 0.00 out of


1.00

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);

b. ALTER TABLE student MODIFY CONSTRAINT name(NOT NULL); 

c. ALTER TABLE student ADD CONSTRAINT name(NOT NULL);

d. ALTER TABLE student MODIFY(name varcher2(25) NOT NULL);

Your answer is incorrect.

Hay que recordar que la sintaxis para modificar una columna de una tabla es:

Y para agregar una nueva columna a la 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

Mark 1.00 out of


1.00

Examina el siguiente codigo:

¿Cuál es el resultado en la ejecución del código anterior?

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.

c. Da un error porque la construcción INSERT SELECT no se puede usar con FORALL

d. Se ejecuta con éxito, pero las instrucciones de salida muestran valores diferentes. 

Your answer is correct.


-%bulk_rowcount mostrará los registros insertados donde department_id = deptnums (i),

-%rowcount mostrará el total de registros insertados.


Dicho de otra manera
SQL% BULK_ROWCOUNT (i) almacena el número de filas procesadas por la ejecución i de una instrucción INSERT, UPDATE o
DELETE.
SQL% ROWCOUNT devuelve información útil sobre la instrucción DML ejecutada más recientemente.
The correct answer is: Se ejecuta con éxito, pero las instrucciones de salida muestran valores diferentes. /
Question 16 Mira el siguiente codigo PL/SQL:
Correct

Mark 1.00 out of


1.00

El record para el empleado con id 100 en la tabla de empleadas is el siguiente:

Identifica la salida correcta para el código.

Select one:
a. King current sysdate 1500 

b. King 17-JUN-87 1500

c. King current sysdate 24000

d. King 17-JUN-87 24000

Your answer is correct.


minsal = 1000, luego agrega 500
y establece la fecha de contratación a sysdate
Así que ahí tienes King Sysdate 1500
The correct answer is: 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

b. un cursor "CURSOR FOR LOOP"

c. Crear un cursor para cada set de datos que se desee obtener de la DB

d. Un cursor que use parametros 

Your answer is correct.


Los cursores parametrizados son el tipo de cursores que pueden recibir parametros dentro de su sentencia SELECT, por lo que
estos cursores pueden ser abiertos,  cerrados y reutilizados multiples veces
Ejemplo de un cursor parametrizado:

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:

The correct answer is: Un cursor que use parametros

/
Question 18 ¿Qué declaración de creación de tabla es válida?
Correct

Mark 1.00 out of


1.00

Select one:
a. Opcion A

b. Opcion D 

c. Opcion B

d. Opcion C

Your answer is correct.


Una restricción PRIMARY KEY crea una clave principal para la tabla. Solo se puede crear una clave principal para cada tabla. La
restricción PRIMARY KEY es una columna o un conjunto de columnas que identifica de forma única cada fila de una tabla. 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: Opcion D

Question 19 Cual enunciado es correcto respecto a bloques PL/SQL anidados?


Correct

Mark 1.00 out of Select one:


1.00
a. Una variable definida en el bloque interno es visible para los demas bloques externos

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 

d. Los nombres de variables deben ser unicos entre bloques

Your answer is correct.


The correct answer is: Una variable definida en el bloque externo, es visible para los demas bloques internos

/
Question 20 Examine el siguienste bloque de codigo:
Correct

Mark 1.00 out of


1.00

Cual es el resultado del codigo anterior?

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

b. Value of V_found is YES 


Value of V_sal is 1000 
Value of V_found is TRUE

c. Value of V_found is YES 


Value of V_sal is 1000 
Value of V_found is TRUE 
Value of Y is 20

d. PLS-00201: identifier 'Y' must be declared. 

e. PLS-00201: identifier 'V_sal' must be declared 


PLS-00201: identifier 'Y' must be declared

Your answer is correct.


Esta pregunta es más un concepto que debieron haber aprendido programando (Tema: alcance de las
variables https://www.asesoriaensig.com.mx/blog/ocajp-7-java-basico-definir-el-alcance-de-las-variables/)
Es totalmente valido escribir un bloque anonimo, dentro del BEGIN de un bloque anonimo, por lo que el error no es un error de
sintaxis. ahora bien, dentro del segundo bloque anonimo se declaran 2 variables: V_found y Y, estas 2 variables EXISTIRAN
SOLAMENTE MIENTRAS SE ESTE EJECUTANDO EL BLOQUE ANONIMO, por lo que a partir de la linea 18, la variable Y y la
variable V_found dejarán de existir como tal.

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

Mark 0.50 out of


1.00

Ahora mira el siguiente codigo PL/SQL:

emp_num 7845 y 7900 existen en la tabla EMP.

¿Qué dos llamadas al procedimiento RAISE_SALARY en el bloque anónimo se ejecutan correctamente?

Select one or more:


a. Llamada en la linea 6

b. Llamada en la linea 8

c. Llamada en la linea 9 

d. Llamada en la linea 7

Your answer is partially correct.


You have correctly selected 1.
Cuando se llama a aun procedimiento tienen que enviarse el mismo numero de parametros que en su definicion.

The correct answers are: Llamada en la linea 8, Llamada en la linea 9

/
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

b. Reemplazar P_WHERE_STMT con una variable de enlace

c. Usar DBMS_SQL para detectar que la expresión proporcionada para P_WHERE_STMT está libre de inyección SQL

d. No utilizar API'S que permitan la exposición de parámetros de consulta arbitrarios 

Your answer is correct.

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

Mark 1.00 out of Select one or more:


1.00
a. Los atributos de cursor (%FOUND, %NOTFOUND, %ISOPEN y %ROWCOUNT) se pueden aplicar a una variable de
cursor 

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.

d. Las variables de cursor se pueden parametrizar como cursores

e. La instrucción OPEN FOR ejecuta la consulta asociada con una variable de cursor e identifica el conjunto de resultados

Your answer is correct.

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

Question 24 Mira el siguiente trigger:


Correct

Mark 1.00 out of


1.00

¿Qué tipo de trigger es?

Select one:
a. Es un trigger invalido 

b. INSTEAD OF trigger

c. trigger DML 

d. trigger de aplicacion

e. System event trigger

Your answer is correct.

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

The correct answer is: Es un trigger invalido

/
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); 

b. ALTER TABLE patient MODIFY(id_number CONSTRAINT pat_id_pk PRIMARY KEY);

c. Esta tarea no puede ser lograda

d. ALTER TABLE patient ADD (id_number CONSTRAINT pat_id_pk PRIMARY KEY);

Your answer is correct.

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 26 ¿Cuál es la sentencia CREATE TABLE válida?


Correct

Mark 1.00 out of Select one:


1.00
a. CREATE TABLE emp*123 (emp_no NUMBER(4));

b. CREATE TABLE emp9$# (emp_no NUMBER(4)); 

c. CREATE TABLE 9emp$# (emp_no NUMBER(4));

d. CREATE TABLE emp9$# (emp_no NUMBER(4). date DATE);

Your answer is correct.


The correct answer is: CREATE TABLE emp9$# (emp_no NUMBER(4));

/
Question 27 Examina el siguiente código y su resultado en la ejecución:
Correct

Mark 1.00 out of


1.00

¿Cuál sería el efecto en los dos procedimientos si el valor de la depuración se establece en falso? (Escoge dos.)

Select one or more:


a. MY_PROC2 no se vuelve a compilar.

b. MY_PROC2 se vuelve a compilar pero permanece sin cambios. 

c. MY_PROC1 se vuelve a compilar sin el código de depuración. 

d. MY_PROC1 se vuelve a compilar pero permanece sin cambios.

Your answer is correct.

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.)

Select one or more:


a. Utilizar el ID de objeto de la tabla del diccionario de datos para crear el nombre del activador

b. Utilizar el PRAGMA RESTRICT_REFERENCES en el procedimiento

c. Agregar AUTHID DEFINER a la definición del procedimiento

d. Filtre los caracteres de control en los nombres de identificadores proporcionados por el usuario

e. Validar explícitamente el límite de longitud del identificador

Your answer is incorrect.

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.

Your answer is correct.


Esta era una pregunta mas de recordar la sintaxis de la sentencia UPDATE

The correct answer is:

/
Question 30 Examinar la estructura de la tabla EMP.
Partially correct

Mark 0.67 out of


1.00

¿Qué etapas se realizan cuando se ejecuta el bloque anterior? (Elija todo lo que corresponda)

Select one or more:


a. Blind

b. Parse

c. Fetch  porque cuando hace un select into, crea un cursor y ejecuta este comando

d. Execute  Por la sentencia insert

Your answer is partially correct.


You have correctly selected 2.
The correct answers are: Parse, Fetch, Execute

Question 31 Examine la estructura de la tabla de ventas:


Correct

Mark 1.00 out of


1.00

Evalúe la siguiente declaración de creación de tabla:

¿Qué afirmaciones son ciertas acerca de la creación de la tabla SALES1?

Select one or more:


a. La tabla SALES1 tendría una clave principal y restricciones únicas en las columnas especificadas.

b. La tabla SALES1 no se crearía debido a la cláusula where inválida.

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. 

e. La tabla SALES1 no tendría restricciones nulas y únicas en las columnas especificadas. 

Your answer is correct.


The correct answers are: La tabla SALES1 se crea sin filas pero solo con una estructura., La tabla SALES1 no tendría restricciones
nulas y únicas en las columnas especificadas.

/
Question 32 Cual enunciado es cierto si el comadno "DROP TABLE" es ejecutado en una tabla?
Correct

Mark 1.00 out of Select one:


1.00
a. Solo el DBA puede ejecutar este comando

b. Cualquier transaccion que falte en la tabla, se le hace un ROLLBACK

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

e. La estructura de la tabla permanece en la base de datos y sus indices son eliminados 

Your answer is correct.


The correct answer is: 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

Question 33 Examine la estructura de la tabla STUDENTS


Incorrect

Mark 0.00 out of


1.00

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

d. No se puede renombrar columnas

Your answer is incorrect.

The correct answer is: No se puede renombrar columnas

/
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:

¿Qué afirmación es cierta sobre el bloque de código anterior?

Select one:
a.  Da un error en la ejecución porque las secuencias no se pueden usar en bloques anónimos

b. Consiste en una sola transacción. 

c. Consta de dos transacciones.

d. Los datos se confirman automáticamente una vez que finaliza la ejecución del bloque.

Your answer is correct.

Una transacción termina cuando ocurre alguna de las siguientes acciones:


Un usuario emite una instrucción COMMIT o ROLLBACK sin una cláusula SAVEPOINT.

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. 

Un usuario ejecuta un comando DDL cmo CREATE, DROP, RENAME o ALTER.


La base de datos emite una instrucción COMMIT implícita antes y después de cada instrucción DDL. Si la transacción actual
contiene sentencias DML, la base de datos Oracle primero confirma la transacción y luego ejecuta y confirma la sentencia DDL
como una nueva transacción de una sola declaración.
Un usuario sale normalmente de la mayoría de las herramientas y utilidades de la base de datos Oracle, lo que hace que la
transacción actual se confirme implícitamente. El comportamiento de confirmación cuando un usuario se desconecta depende
de la aplicación y es configurable.
The correct answer is: Consiste en una sola transacción.

/
Question 35 Examine la estructura de la tabla STUDENTS
Correct

Mark 1.00 out of


1.00

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 

b. ALTER STUDENT table MODIFY COLUMN phone NUMBER(9);

c. ALTER TABLE student MODIFY phone NUMBER(9)

d. No se puede modificar el tipo de datos VARCHAR2 a un tipo de datos NUMBER

Your answer is correct.

En base a la documentacion de oracle


https://docs.oracle.com/cd/B19306_01/server.102/b14200/clauses002.htm

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 modificar el tipo de datos de una columna en una tabla?


- Cuando la columna en si misma, permita valores nulos (osea no tenga un NOT NULL constraint)

- Cuando la columna tenga un constraint UNIQUE (UNIQUE si permite valores nulos)


- Cuando la tabla se encuentre vacia en caso de que, alguna de sus columnas tenga un NOT NULL constraint

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.

- Si la tabla esta vacia, se permitrá hacer el cambio


The correct answer is: No se puede modificar el tipo de datos debido a que hay datos en la columna

/
Question 36 Evalue el siguiente bloque de codigo
Correct

Mark 1.00 out of


1.00

Cuantos registros son insertados permanentemente?

Select one:
a. 2

b. 3

c. 1 

d. 0

e. 5

f. 4

Your answer is correct.

COMMIT = guarda todos los cambios sin poder deshacerlos


ROLLBACK = deshace todos los cambios que se ejecutaron despues de un COMMIT

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"

i = 5 .... realiza ROLLBACK, deshaciendo la insercion de "4" 

The correct answer is: 1

/
Question 37 La estructura de la tabla DEPT es la que se muestra a continuación
Correct

Mark 1.00 out of


1.00

Examine el siguiente bloque PL/SQL

Cual sentencia es la que despliega el nombre del departamento seleccionado?

Select one:
a. DBMS_OUTPUT.PUT_LINE (name);

b. DBMS_OUTPUT.PUT_LINE (dept_rec.name); 

c. DBMS_OUTPUT.PUT_LINE (dname);

d. DBMS_OUTPUT.PUT_LINE (dept_rec (name));

e. DBMS_OUTPUT.PUT_LINE (dept_rec.dname);

Your answer is correct.


Es de tener presente que al momento de cargar los datos del select (deptno, dname) en la estructura dept_record_type, se
cargan en las 2 variables (dno, name), por lo que la manera correcta de obetener el nombre es:
dept_rec.name

The correct answer is: DBMS_OUTPUT.PUT_LINE (dept_rec.name);

/
Question 38 Examina  la estructura de la tabla empleados
Correct

Mark 1.00 out of


1.00

Se Ejecuta el siguiente bloque de código:

¿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

b. Se ejecuta con éxito e incorrectamente da el resultado de la suma de salarios en el departamento 60. 

c. Se ejecuta correctamente y da correctamente el resultado de la suma de salarios en el departamento 60.

d. Da un error porque las funciones de grupo no se pueden usar en bloques anónimos.

Your answer is correct.


En declaraciones SQL potencialmente ambiguas, los nombres de las columnas de la base de datos tienen prioridad sobre los
nombres de las variables locales y los parámetros formales. Por ejemplo, si una variable y una columna con el mismo nombre se
usan en una cláusula WHERE, SQL considera que ambos casos se refieren a la columna.

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

Mark 1.00 out of


1.00 ¿A qué tipo se debe convertir el trigger para corregir el error?

Select one:
a. ORACLE FORM trigger

b. Fila (ROW) 

c. Before

d. Instruccion (Statement)

Your answer is correct.

The correct answer is: Fila (ROW)

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" 

b. Usar el comando "ALTER TABLE" con la clausula "ADD" en la tabla "EMP" 

c. Usar el comando "ALTER TABLE" con la clasula "MODIFY" en la tabla "DEPT" 

d. Usar el comando "ALTER TABLE" con la clausula "MODIFY" en la tabla "EMP"

Your answer is correct.


Como modo de aclaratorio existen 2 formas de agregar una llave foranea a la tabla:
De una sola vez:

Por medio del comando ALTER TABLE

Entonces el comando correcto (a modo de aclaratorio) seria el siguiente:


ALTER TABLE EMP ADD CONSTRAINT

FOREIGN KEY(dept_no) REFERENCES DEPT(ID) 

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

Mark 0.50 out of Select one or more:


1.00
a. CREATE OR REPLACE FUNCTION tax_amt (p_id NUMBER) RETURN NUMBER

b. CREATE OR REPLACE PROCEDURE tax_amt (p_id NUMBER, p_amount OUT NUMBER) 

c. CREATE OR REPLACE FUNCTION tax_amt (p_id NUMBER) RETURN NUMBER(10,2)

d. CREATE OR REPLACE PROCEDURE tax_amt (p_id NUMBER, p_amount OUT NUMBER(10, 2))

e. CREATE OR REPLACE PROCEDURE tax_amt (p_id NUMBER) RETURN NUMBER 

Your answer is partially correct.

You have correctly selected 1.


B - no se permite ninguna declaración de RETORNO para PROCEDIMIENTO;
D, E - tamaño no debe especificarse para los parámetros.

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)

Question 42 Evalue la siguiente sentencia IF


Correct

Mark 1.00 out of


1.00

Que valor seria asignado a la variable v_new_value si v_value = 250?

Select one:
a. 1000

b. 250

c. 750

d. 500 

Your answer is correct.

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

Question 43 Examine la siguiente declaracion de cursor


Correct

Mark 1.00 out of


1.00

Cual sentencia abre el cursor correctamente?

Select one:
a. OPEN emp_cursor

b. OPEN emp_cursor('clerk',10);

c. OPEN emp_cursor (p_deptno,p_job);

d. OPEN emp_cursor(10, 'analyst'); 

Your answer is correct.


The correct answer is: OPEN emp_cursor(10, 'analyst');

/
Question 44 Examinar la estructura de la tabla EMP.
Correct

Mark 1.00 out of


1.00

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?

Select one or more:


a. Los parámetros formales de cada subprograma deben diferir tanto en el nombre como en el tipo de datos.

b. Los procedimientos deben crearse solo como subprogramas independientes.

c. Los procedimientos deben crearse solo como subprogramas empaquetados. 

d. Los parámetros formales de cada subprograma deben diferir en el tipo de datos pero pueden usar los mismos
nombres 

e. Los procedimientos pueden ser independientes o empaquetados.

Your answer is correct.


Uno de los aspectos más poderosos de los paquetes es la capacidad de sobrecargar las unidades del programa. Cuando
sobrecarga, define más de un programa con el mismo nombre. Estos programas diferirán de otras maneras (generalmente la
cantidad y los tipos de parámetros), de modo que en el tiempo de ejecución el motor PL / SQL pueda determinar cuál de los
programas debe ejecutar. Puede aprovechar la función de sobrecarga de los paquetes para que sus funciones basadas en
paquetes sean lo más accesibles posible.

¿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

Marked out of Select one:


1.00
a. Scott debe usar el comando ALTER USER scott IDENTIFIED BY lion

b. Scott debe de usar el comando ALTER USER scott PASSOWRD BY lion

c. El DBA debe usar el comando ALTER USER scott IDENTIFIED BY lion

d. El DBA debe usar el comando CHANGE password to lion WHERE "user=scott"

e. Scott debe de usar el comadno CHANGE password to lion WHERE "user=scott";

Your answer is incorrect.


The correct answer is: El DBA debe usar el comando ALTER USER scott IDENTIFIED BY lion

/
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 

Your answer is correct.


Si se fijan en el enunciado dice (dato numero que nos dara el id del empleado) entonces tiene que ser un numero exacto, el
tipo de dato number tiene los parametros (p,n) donde p es la precision y n la escala, La precisión es el número total de dígitos
decimales y la escala es el número de dígitos a la derecha del punto decimal.

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

Mark 1.00 out of


1.00

Cuales son las 3 maneras validas de llamar a este procedimiento almacenado?

Select one:
a. add_dept(,'New York');

b. add_dept(p_location=>'New York'); 

c. add_dept('Accounting');

d. add_dept;

Your answer is correct.


The correct answers are: add_dept;, add_dept('Accounting');, add_dept(p_location=>'New York');

Question 48 Se ejecuta el siguiente comando para descartar la tabla de productos:


Correct
SQL> DROP TABLE productos;
Mark 1.00 out of
1.00
¿Qué tres afirmaciones son ciertas acerca de la implicación de este comando?

Select one or more:


a.  Se eliminan todos los datos de la tabla, pero la estructura de la tabla permanece.

b. Todas las vistas y sinónimos permanecen, pero se invalidan. 

c. Todos los índices en la tabla permanecen pero están invalidados.

d. Se eliminan todos los datos junto con la estructura de la tabla. 

e. Se compromete una transacción pendiente en la sesión. 

Your answer is correct.

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

Mark 0.00 out of Select one:


1.00
a. DECLARE 
emp-table is TABLE of emp%ROWTYPE.  INDEX BY es obligatoria para toda declaracion TYPE TABLE

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;

Your answer is incorrect.

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)

Es cuando nos referimos a una fila con un indice numerico, ej:

- Indice asociativo (INDEX BY VARCHAR(X))


Cuando el indice es una cadena de caracteres (lo que en PHP le llamabamos ARRAY ASOCIATIVO)

/
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

Mark 0.33 out of Select one or more:


1.00
a. Comprobar la longitud de la cadena de entrada 

b. Verificar un nombre de esquema existente

c. Detectar un usuario equivocado 

d. Verificar nombres de SQL calificados 

e. Encerrar los literales de cadena entre comillas dobles

Your answer is partially correct.

You have correctly selected 1.


The correct answers are: Verificar nombres de SQL calificados, Verificar un nombre de esquema existente, Encerrar los literales
de cadena entre comillas dobles

/
Question 51 Se tiene el siguiente trigger:
Correct

Mark 1.00 out of


1.00

Se Emite un comando UPDATE en la tabla EMP que da como resultado el cambio de 10 filas.

¿Cuántas filas se insertan en el AUDIT_TABLE?

Select one:
a. 10

b. Un valor igual al número de filas en la tabla EMP.

c. Ninguna

d. 1 

Your answer is correct.

El trigger no tiene la cláusula FOR EACH ROW.


The correct answer is: 1

Question 52 Examine la estrcutura de la tabla DEPT


Correct

Mark 1.00 out of


1.00

Examine el siguiente codigo PL/SQL

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;

b. No se puede almacenar la fila entera de la tabla DEPT en la variable dept_rec declarada 

c. SELECT* INTO dept_rec FROM dept WHERE dept no=10;

d. SELECT deptno,dname,loc INTO dept_rec FROM dept WHERE dept no=10;

Your answer is correct.


Como referencia, ocupar:

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

SELECT* INTO dept_rec FROM dept WHERE dept no=10;


The correct answer is: No se puede almacenar la fila entera de la tabla DEPT en la variable dept_rec declarada

/
Question 53 Que tipos de elementos pueden ser agrupados en paquetes (packages)?
Correct

Mark 1.00 out of Select one:


1.00
a. Cursor

b. Secuencia

c. Vista (View)

d. Trigger

e. Constante 

Your answer is correct.

The correct answers are: Cursor, 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

Mark 0.50 out of Select one or more:


1.00
a. Un trigger de fila se dispara una vez, incluso si no hay filas afectadas.

b. Un trigger de instrucciones se dispara una vez, incluso si no hay filas afectadas.

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. 

Your answer is partially correct.


You have correctly selected 1.
The correct answers are: Un trigger de instrucciones se dispara una vez, incluso si no hay filas afectadas., 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

Marked out of Select one or more:


1.00
a. Use los subprogramas como parte de los paquetes en lugar de los subprogramas independientes.

b. Utilizar SQLs dinámicos construidos utilizando concatenación de valores de entrada.

c. Utilizar argumentos de enlace

d. Validar todas las entradas concatenadas a SQL dinámico.

Your answer is incorrect.

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)

Select one or more:


a. Se ejecuta con éxito y da la salida deseada.

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).

c. No se ejecuta porque la definición del tipo poblation es indexada por VARCHAR2

d.  No se ejecuta porque el valor que una vez se asigna al elemento del array asociativo no se puede cambiar.

Your answer is incorrect.

.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).

Question 57 Examina el siguiente codigo:


Incorrect

Mark 0.00 out of


1.00

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');

¿Cuál es el resultado en este comando EXECUTE?

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. 

d. Las tablas de ubicaciones, departamentos y empleados están vacías.

Your answer is incorrect.


En el procedimiento Insert_Dept hay una instrucción SELECT, que fallará cuando todas las tablas estén vacías. No hay registro
con Employee_id = 99999. No se cerrara ninguna transacción por la sentencia EXECUTE. Nada se escribirá en las tablas.

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

Mark 0.67 out of


1.00

Se ejecutó la siguiente declaración:

SQL> DELETE from stores WHERE store_id=900;


The statement fails due to the integrity constraint error:
ORA-02292: integrity constraint (HR.STORE_ID_FK) violated

¿Qué tres opciones aseguran que la declaración se ejecutará con éxito?

Select one or more:


a.  ELIMINAR las filas con STORE_ID = 900 de la tabla de VENTAS y luego eliminar las filas de la tabla de TIENDAS. 

b. Deshabilitar la clave primaria en la tabla de TIENDAS. 

c. Deshabilitar la LLAVE FORANEA en la tabla de VENTAS y luego eliminar las filas.

d. Utilice la palabra clave CASCADE con la sentencia DELETE.

e. Crear la clave externa en la tabla de VENTAS en la columna SALES_ID con la opción DELETE CASCADE.

Your answer is partially correct.


You have correctly selected 2.
The correct answers are: Deshabilitar la clave primaria en la tabla de TIENDAS.,  ELIMINAR las filas con STORE_ID = 900 de la
tabla de VENTAS y luego eliminar las filas de la tabla de TIENDAS., Deshabilitar la LLAVE FORANEA en la tabla de VENTAS y
luego eliminar las filas.

Question 59 Examina el siguiente codigo PL/SQL:


Partially correct

Mark 0.50 out of


1.00

¿Qué afirmación llama correctamente a la función almacenada CALC_SAL? (Escoge dos)

Select one or more:


a. INSERT calc_sal(salary) INTO employees 
WHERE department_id = 60;

b. UPDATE employees (calc_sal(salary)) 


SET salary = salary * calc_sal(salary);

c. SELECT last_name, salary, calc_sal(salary) 


FROM employees ORDER BY calc_sal(salary) ; 

d. DELETE FROM employees(calc_sal(salary))


 WHERE calc_sal(salary) > 100;

e. SELECT salary, calc_sal(salary) FROM employees 


WHERE department_id = 60;

Your answer is partially correct.


You have correctly selected 1.
The correct answers are: SELECT salary, calc_sal(salary) FROM employees 
WHERE department_id = 60;, SELECT last_name, salary, calc_sal(salary) 
FROM employees ORDER BY calc_sal(salary) ;

/
Question 60 Examina el siguiente codigo PL/SQL:
Not answered

Marked out of
1.00

¿Qué afirmación es verdadera?

Select one:
a. Si elimina la especificación del paquete, se eliminan el cuerpo del paquete y la función almacenada independiente
CALC_HEIGHT.

b. Si elimina el cuerpo del paquete, se eliminará la especificación del paquete.

c. La función independiente CALC_HEIGHT no se puede crear porque su nombre se usa en una función empaquetada.

d. Si elimina la especificación del paquete, entonces se elimina el cuerpo del paquete.

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.

Your answer is incorrect.

The correct answer is: Si elimina la especificación del paquete, entonces se elimina el cuerpo del paquete.

Question 61 ¿En qué tres situaciones se completa una transacción?


Not answered

Marked out of Select one or more:


1.00
a. Cuando se ejecuta una sentencia DELETE

b. Cuando se ejecuta una instrucción en lenguaje de definición de datos (DDL)

c. Cuando se ejecuta un comando ROLLBACK

d. Cuando se ejecuta una instrucción TRUNCATE después de la transacción pendiente

e. Cuando se ejecuta un bloque anónimo PL / SQL

Your answer is incorrect.


The correct answers are: Cuando se ejecuta un comando ROLLBACK, Cuando se ejecuta una instrucción en lenguaje de
definición de datos (DDL), Cuando se ejecuta una instrucción TRUNCATE después de la transacción pendiente

/
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;

c. ---- This code displays salaries if larger than 10000.

d. v_num NUMBER;

e. IF (v_sal.GT.10000) THEN

Your answer is incorrect.


The correct answer is: 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

Select one or more:


a. Opcion E

b. Opcion C

c. Opcion B

d. Opcion D

e. Opcion A

Your answer is incorrect.


The correct answers are: Opcion D, Opcion E

Question 64 Cual privilegio es de nivel "SYSTEM"?


Not answered

Marked out of Select one:


1.00
a. UPDATE

b. ALTER

c. INDEX

d. DELETE

e. Drop any table

Your answer is incorrect.

The correct answer is: Drop any table

/
Question 65 Examina estas afirmaciones:
Not answered
 CREATE ROLE registrar; 
Marked out of
1.00  GRANT UPDATE ON student_grades TO registrar;

  GRANT registrar to user1, user2, user3;


¿Qué hace este conjunto de sentencias SQL?

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.

b. El conjunto de sentencias contiene un error y no funciona.

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

Your answer is incorrect.

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

Question 66 Mira el siguiente PL/SQL:


Not answered

Marked out of
1.00

¿Qué impide que este procedimiento se cree con éxito?

Select one:
a. La STATS_EXIST_EXCEPTION no se ha declarado como una excepción.

b. Solo se permiten excepciones predefinidas en la sección de EXCEPCIÓN.

c. El STATS_EXIST_EXCEPTION no se ha declarado como un número.

d. Se ha dejado una coma después de la excepción STATS_EXIST_EXCEPTION.

Your answer is incorrect.

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.

The correct answer is: La STATS_EXIST_EXCEPTION no se ha declarado como una excepción.

/
Question 67 Cuales enunciados son ciertos para los paquetes (packages)?
Not answered

Marked out of Select one:


1.00
a. Un paquete es cargado en memoria cada vez que se invoca

b. Usted puede esconder informacion haciendo el constructor del paquete, privado

c. El contenido de los paquetes pueden ser compartidos por multiples aplicaciones

d. Usted puede pasarle parametros a los paquetes

e. Los paquetes pueden ser anidados

Your answer is incorrect.

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'.

c.  Produce un error porque no se especifica el tipo de datos para la columna.

d. Produce un error porque las definiciones de columna no se pueden modificar para agregar valores predeterminados.

Your answer is incorrect.

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

Ahora el siguiente CODIGO PL/SQL:

¿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.

b. Da un error porque el tipo de registro no está definido dentro de la función.

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.

Your answer is incorrect.

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

Marked out of Select one:


1.00
a. ALTER TABLE CARS ENABLE PRIMARY KEY(id)CASCADE;

b. ALTER TABLE CARS ENABLE CONSTRAINT cars_id_pk

c. ALTER TABLE ENABLE PRIMARY KEY(ID)

d. ALTER TABLE CARS ADD CONSTRAINT cards_id_pk PRIMARY KEY(id);

Your answer is incorrect.

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

Examine el siguiente trigger:

¿Cuál es el resultado cuando se compila el trigger anterior?

Select one:
a.  Da un error porque la condición WHERE no es válida.

b. Se compila con éxito.

c. Da un error porque las declaraciones bajo UPDATING no son válidas.

d. Da un error porque WHERE no se puede usar para disparadores de nivel de fila.

e. Da un error porque el calificador NEW en la cláusula when requiere un prefijo de dos puntos.

Your answer is incorrect.

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

Hay otra version donde la respuesta correcta es A aca se las dejo

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) 

PRODUCT_NAME VARCHAR2 (50)


CATEGORY_ID NUMBER (2)

SUPPLIER_ID NUMBER (6)


LIST_PRICE NUMBER (8,2)
Ver el objeto expuesto y examinar el bloque PL / SQL.

En la ejecución, el bloque PL / SQL genera el siguiente error: 

ORA- 01001: invalid cursor


¿Cuál podría ser la razón?

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 :=.

d. Ambos argumentos de la variable del cursor deberían haberse pasado en modo IN

Your answer is incorrect.


The correct answer is: La instrucción CLOSE cierra ambas variables del cursor, por lo tanto, la última instrucción FETCH no puede
ejecutarse.

Question 73 ¿Qué dos afirmaciones son verdaderas sobre los tipos de REF CURSOR? (Escoge dos.)
Not answered

Marked out of Select one or more:


1.00
a.  Solo se puede utilizar un tipo de REF CURSOR débil como parámetro formal de un procedimiento o función
almacenado

b. Los tipos REF CURSOR no se pueden definir dentro de un paquete

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

Your answer is incorrect.


The correct answers are: SYS_REFCURSOR se puede usar para declarar variables de cursor en procedimientos y funciones
almacenados,  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.

c. El programa se ejecuta con éxito y la salida es No ROWS_FOUND.

d. El programa se ejecuta con éxito, recupera un valor NULL en la variable V_LNAME y se genera una excepción.

Your answer is incorrect.


en la pregunta se menciona que la consulta no devuelve filas ... por lo que debería haber un controlador de excepciones con
no_data_found para que el programa se ejecute correctamente.
The correct answer is: El programa termina abruptamente y se produce una excepción.

Question 75 Examina el siguiente codio PL/SQL:


Not answered

Marked out of
1.00

¿Qué afirmación es verdadera?

Select one:
a. Esta declaración crea un procedimiento almacenado llamado get_sal.

b. esta declaracion falla

c. Esta declaración crea una función almacenada llamada 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.

Your answer is incorrect.


No existe la palabra clave "STORED".

The correct answer is: esta declaracion falla

/
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.

b. Eliminar el valor predeterminado para los argumentos en el procedimiento.

c. Convertir la instrucción SELECT a SQL estático, colocando el valor de P_EMAIL en una variable local.

d. Ejecutar la sentencia SQL en V_STMT como SQL dinámico.

Your answer is incorrect.


The correct answer is: Convertir la instrucción SELECT a SQL estático, colocando el valor de P_EMAIL en una variable local.

Question 77 Segun el siguiente codigo PL/SQL:


Not answered

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

b. Usar la restricción NOT NULL al declarar las variables

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

Your answer is incorrect.


The correct answer is: Ocupar la opcion "BULK COLLECT" para realizar la consulta en vez de un cursor

/
Question 78 Examine el siguiente codigo:
Not answered

Marked out of
1.00

ocupando un "CURSOR FOR LOOP" cual bloque PL/SQL es equivalente al anterior?

Select one:
a.

b.

c.

d.

Your answer is incorrect.


Es importante recordar que en un "CURSOR FOR LOOP":
No es necesario ni correcto hacer FETCH porque automaticamente este trae todos las filas una por una
No es necesario ni correcto hacer OPEN al cursor cuando el propio ciclo abrira el cursor
No es necesario ni correcto hacer CLOSE al cursor cuando el propio ciclo cerrará el cursor

The correct answer is:

/
Question 79 Examine la estructura de las tablas EMPLOYEES y NEW_EMPLOYEES:
Not answered

Marked out of
1.00

¿Qué declaración MERGE es válida?

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);

Your answer is incorrect.

La sintaxis correcta para MERGE es


MERGE INTO table_name t USING table_name2 t2 ON (t = t2)

WHEN MATCHED THEN UPDATE


WHEN NOT MATCHED THEN INSERT
The correct answer is: 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);

/
Question 80 Tiene la estructura de tabla empleada y el codigo PL/SQL siguiente:
Not answered

Marked out of
1.00

El empleado con id 195 tiene un salario de 2800


¿Cuál es el resultado?

Select one:
a. Da un error porque no se puede usar el mismo nombre de variable en todos los bloques anidados.

b. Da un error porque solo el bloque más interno está etiquetado.

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.

Your answer is incorrect.

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

Marked out of Select one or more:


1.00
a. Siempre que sea posible, declarar explícitamente el cursor y use las instrucciones OPEN, FETCH y CLOSE para manipular
el cursor en lugar de usar el cursor FOR loop.

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.

Your answer is incorrect.

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.

Your answer is incorrect.

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

¿Qué línea en el código anterior daría lugar a errores en la ejecución?

Select one:
a. Linea 2

b. Linea 5

c. Linea 8

d. Linea 7

Your answer is incorrect.

En la linea 8 esta asignando a una variable varchar2 un valor boleano.


The correct answer is: Linea 8

/
Question 84 La estructura de la tabla DEPT es como la que se muestra a continuación:
Not answered

Marked out of
1.00

Examine el siguiente bloque PL/SQL

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';

Your answer is incorrect.

Con indices numericos:

Si fueran indices asociativos (strings)

/
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

Marked out of Select one:


1.00
a.  GRANT select ON dept TO PUBLIC;

b. GRANT QUERY ON dept TO ALL_USERS

c. GRANT select ON dept TO ALL_USERS;

d. GRANT select ON dept TO ALL;

Your answer is incorrect.

The correct answer is:  GRANT select ON dept TO PUBLIC;

/
Question 86 Examine la siguiente funcion:
Not answered

Marked out of
1.00

Cual sentencia ejecutará la función correctamente?

Select one:
a. CALC_PLAYER(‘RUTH’);

b. CALC_PLAYER_AVG(31);

c. EXECUTE CALC_PLAYER_AVG(31);

d. SELECT CALC_PLAYER_AVG(PLAYER_ID) FROM PLAYER_BAT_STAT;

e. START CALC_PLAYER_AVG(31);

Your answer is incorrect.

The correct answer is: SELECT CALC_PLAYER_AVG(PLAYER_ID) FROM PLAYER_BAT_STAT;

Question 87 Evaluaa el siguiente comando CREATE TABLE 


Not answered

Marked out of
1.00

El comando anterior falla cuando se ejecuta. ¿Cuál podría ser la razón?

Select one:
a. En La restricción (Constraint) CHECK no se puede colocar en columnas que tengan el tipo de datos DATE.

b. La cláusula BETWEEN no se puede utilizar para la restricción (constraint) CHECK.

c. ORD_NO y ITEM_NO no se pueden usar como una clave primaria compuesta porque ORD_NO también es la CLAVE
EXTERNA.

d. SYSDATE no se puede utilizar con la restricción (constraint) CHECK.

Your answer is incorrect.

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

Your answer is incorrect.

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

b. tabla PL/SQL de records

c. variable %ROWTYPE

d. tabla PL/SQL de escalares

Your answer is incorrect.


The correct answer is: tabla PL/SQL de records

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

Your answer is incorrect.

The correct answer is: Opcion A

/
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;

b. TRUNCATE TABLE student KEEP STRUCTURE;

c. DROP TABLE student;

d. TRUNCATE TABLE student;

e. DELETE* FROM student KEEP STRUCTURE.

Your answer is incorrect.

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

The correct answer is: TRUNCATE TABLE student;

Question 92 Mira el siguiente codigo PL/SQL:


Not answered

Marked out of
1.00

Que es lo que hace el trigger?

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.

Your answer is incorrect.


The correct answer is: 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.

/
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;

¿Qué afirmación es cierta con respecto a la sentencia de SQL anterior?

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

c. El sinónimo se eliminaría y la tabla correspondiente perdería su validez.

d. Sólo el sinónimo se eliminaría.

Your answer is incorrect.


Un sinónimo es un alias para una tabla (o una vista). Los usuarios pueden ejecutar sentencias SQL contra el sinónimo, y la base
de datos las asignará en sentencias contra el objeto al que apunta el sinónimo.

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.

Question 94 Examine la estructura propuesta para la tabla de transacciones:


Not answered

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?

Select one or more:


a. La columna CUST_CREDIT_LIMIT no podría almacenar valores decimales.

b. La columna TRANS_DATE podría almacenar el día, mes, siglo, año, hora, minutos, segundos y fracciones de segundos

c. La columna TRANS_VALIDITY tendría un tamaño máximo de un carácter.

d. La columna CUST_STATUS almacenaría exactamente un carácter.

e. La columna CUST_STATUS daría un error.

f. La columna TRANS_VALIDITY daría un error.

Your answer is incorrect.


VARCHAR2 (tamaño) Datos de caracteres de longitud variable (debe especificarse un tamaño máximo: el tamaño mínimo es 1;
el tamaño máximo es 4, 000.)

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

Mira el siguiente codigo:

Se emite el siguiente comando:

SQL> DROP PACKAGE manage_emp;


CUal es el resultado?

Select one:
a.
Se eliminan los paquetes MANAGE_EMP y EMP__DET debido al efecto en cascada.

b. Devuelve un error y no elimina el paquete MAMAGE_EMP debido al efecto en cascada.

c. Descarta el paquete MANAGE_EMP e invalida solo el cuerpo del paquete EMP_DET.

d. Descarta el paquete MANAGE_EMP e invalida la especificación y el cuerpo del paquete EMP_DET.

Your answer is incorrect.

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

Examinar la estructura de la tabla EMPLEADOS.

¿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.

b. Reemplazar la línea 2 con TYPE refcur IS REF CURSOR; emp_cv refcur ;

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 ;.

Your answer is incorrect.

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.

Your answer is incorrect.

The correct answer is:

/
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.

3) El período máximo de la provisión de crédito en la solicitud es de 30 días.


4) El interés debe calcularse para la cantidad de días que una persona ha tomado un crédito.

¿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

d. INTERVAL YEAR TO MONTH

e. NUMBER

Your answer is incorrect.

The correct answer is: INTERVAL DAY TO SECOND

Question 99 Examine el siguiente codigo:


Not answered

Marked out of
1.00

Porque esta seccion causa un error?

Select one:
a. Ninguna sentencia FETCH fue realizada

b. El cursor no necesita ser explicitamente cerrado

c. El cursor necesita ser abierto

d. La condicion de finalizar el ciclo FOR no estan detalladas

Your answer is incorrect.

The correct answer is: El cursor no necesita ser explicitamente cerrado

/
Question 100 Se crea la tabla "sales" por medio del siguiente comando
Not answered

Marked out of
1.00

Cual o cuales indices son creados bajo la sentencia anterior?

Select one:
a. Un indice es creado para la columna customer_no

b. Ningun indice es creado para esta tabla

c. Un indice es creado para la columna purchase_no

d. Un indice es creado para cada columna

Your answer is incorrect.

En base al siguiente articulo


https://logicalread.com/constraints-create-table-oracle-12c-mc06/#.XRI4U4gzbIU

Se describre que la manera de trabajar de ORACLE respecto a los CONSTRAINTS es el siguiente:

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

¿Qué afirmación es cierta sobre el resultado del código anterior?

Select one:
a.  Se ejecuta con éxito y todas las filas se actualizan.

b. Da un error pero guarda las filas insertadas y la actualización de la primera fila.

c. Da un error y todas las declaraciones en lenguaje de manipulación de datos (DML) se retrotraen.

d. Da un error pero guarda las filas insertadas; sin embargo, no se actualizan filas.

Your answer is incorrect.

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

¿Qué afirmación es correcta sobre el código anterior?

Select one:
a. Linea 3

b. Se ejecuta con éxito y muestra la salida.

c. Linea 4

d. Linea 6

Your answer is incorrect.

%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

Question 103 Examina el siguiente codigo PL/SQL:


Not answered

Marked out of
1.00

¿Cuáles son las llamadas válidas al procedimiento add_dep? (Elige tres)

Select one or more:


a. add_dept (, 'New York');

b. add_dept (p_location => 'New York');

c. add_dept ('Contabilidad');

d. add_dept;

Your answer is incorrect.


add_dept; es correcto porque ambos parámetros tienen valores predeterminados.

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.

¿Qué enunciado crearía la tabla?

Select one:
a. Opcion C

b. Opcion B

c. Opcion A

d. Opcion D

Your answer is incorrect.


The correct answer is: Opcion B

/
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

Your answer is incorrect.


1. Puede crear restricciones en el nivel de columna o nivel de tabla.
2. Las restricciones definidas en el nivel de columna se incluyen cuando se define la columna.
3. Las restricciones de nivel de tabla se definen al final de la definición de tabla y deben referirse a la columna o columnas a
las que pertenece la restricción en un conjunto de paréntesis.
4. Es principalmente la sintaxis que diferencia a los dos; de lo contrario, funcionalmente, una restricción de nivel de columna
es la misma que una restricción de nivel de tabla.
5. Las restricciones NOT NULL se deben definir en el nivel de columna.
6. Las restricciones que se aplican a más de una columna deben definirse en el nivel de la tabla.

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

b. utilizando un argumento de enlace con SQL dinámico en el procedimiento

c. utilizando el procedimiento como parte de un paquete PL / SQL

d. utilizando AUTHID DEFINER en el procedimiento para implementar el derecho del definidor

Your answer is incorrect.

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?

Select one or more:


a. La columna TRANS_VALIDITY permitiría almacenar un intervalo de tiempo en días, horas, minutos y segundos.

b. La columna TRANS_DATE permitiría el almacenamiento de fechas solo en el formato dd-mon-aaaa.

c. La columna CUST_CREDIT_VALUE permitiría el almacenamiento de enteros positivos y negativos.

d. La columna CUST_STATUS permitiría el almacenamiento de datos hasta el tamaño máximo de VARCHAR2 de 4,000
caracteres.

Your answer is incorrect.

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

bytes o caracteres) entre 1 y 4000 bytes para la columna VARCHAR2.

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);

c. 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));

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));

Your answer is incorrect.


Una restricción PRIMARY KEY crea una clave principal para la tabla. Solo se puede crear una clave principal para cada tabla. La
restricción PRIMARY KEY es una columna o un conjunto de columnas que identifica de forma única cada fila de una tabla.

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));

Question 109 ¿Cuáles son ciertas? (Elija más de uno)


Not answered

Marked out of Select one or more:


1.00
a. Se puede usar una declaración MERGE para actualizar las filas existentes en una tabla.

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.

Your answer is incorrect.

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

Si las filas no están presentes, se insertan en la tabla de destino.


The correct answers are: Se utiliza una instrucción MERGE para combinar los datos de una tabla con los datos de otra., Se puede
usar una declaración MERGE para insertar nuevas filas en una tabla., Se puede usar una declaración MERGE para actualizar las
filas existentes en una tabla.

/
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.

¿Qué afirmación es cierta con respecto al procedimiento EMP_TOTSAL?

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

Your answer is incorrect.

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?

Select one or more:


a. No puede usar las columnas ORD_NO y ITEM_NO como clave principal compuesta porque ORD_NO también es la clave
externa.

b. No se puede usar la cláusula BETWEEN en la condición de una restricción de verificación.

c. No se puede utilizar SYSDATE en la condición de una restricción de verificación.

d. No se puede usar el valor de secuencia NEXTVAL como valor predeterminado para una columna.

Your answer is incorrect.

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 

Llamadas a las funciones SYSDATE, UID, USER y USERENV


Consultas que se refieren a otros valores n otras filas

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: 

CREATE TABLE employees


(...

Salary NUMBER(8, 2) 


CONSTRAINT emp_salary_min CHECK (salary > 0),

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

Marked out of Select one:


1.00
a. Usted tiene que abrir explicitamente el cursor antes del FOR LOOP

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"

Your answer is incorrect.

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

Se creó el procedimiento add_dept anterior, y ahora se invoca el procedimiento

¿Cuáles son invocaciones válidas? (Elija cuatro)

Select one or more:


a. EXECUTE add_dept('2500', p_loc =>2500)

b. EXECUTE add_dept('Education', 2500)

c. EXECUTE add_dept(p_loc=>2500, p_name=>'Education')

d. EXECUTE add_dept(p_name=>'Education', 2500)

e. EXECUTE add_dept(p_loc=>2500)

Your answer is incorrect.


Siempre que se quiera invocar un metodo, se tiene que poner la forma explicita primero antes de la asignacion, formas validas

exec proc("A", b=> "Hola")


proc("D", "D")

proc(a=>"s", b=>"D")
forma invalida:

proc (D=>"d", "d")


proc(D=>"d) //aca no pongo ningun parametro explicito despues, por lo que no imcumplo la regla

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;

Your answer is incorrect.

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

b. Usted necesita crear de nuevo los constraint despues de deshabilitarlos

c. lo indices para ambas columnas son recreados

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

Your answer is incorrect.

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.

Your answer is incorrect.

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;

b. CREATE PUBLIC SYNONYM EDL_VU FOR emp_dept_loc_vu;

c. CREATE PUBLIC SYNONYM EDL:VU FOR mary (emp_dept_loc_vu);

d. CREATE PUBLIC SYNONYM EDL_VU ON emp_dept_loc_vu FOR ALL USERS;

e. CREATE PUBLIC SYNONYM EDL_VU ON emp_dept_loc_vu;

f.
CREATE SYNONYM EDL_VUO N emp_dept_loc_vu FOR EACH USER;

Your answer is incorrect.


The general syntax to create a synonym is: 

CREATE [PUBLIC] SYNONYM synonym FOR object;


The correct answer is: CREATE PUBLIC SYNONYM EDL_VU FOR emp_dept_loc_vu;

/
Question 118 Examina el siguiente codigo PL/SQL:
Not answered

Marked out of
1.00

¿Por qué este código causa un error cuando se compila?

Select one:
a. Una sentencia no es permitida en la parte de "declaracion" de un subprograma

b. La variable v_name debe declararse antes de declarar el procedimiento LOG_EXEC.

c. El procedimiento LOG_EXEC debe declararse antes de cualquier identificador.

d. El procedimiento LOG_EXEC debe invocarse como EXECUTE log_exec en el procedimiento AUDIT_EMP.

Your answer is incorrect.


Cuando se esta en la parte de definicion de un procedimiento, siempre se define primero las variables y despues los
subprocedimientos.

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

ahora mira el procedimiento y el bloque de código PL / SQL,

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.

¿Cuál es el resultado de ejecutar el bloque de código PL / SQL?

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

c. Se ejecuta con éxito y da la salida requerida.

d. Da un error porque ROWNUM no se puede usar en las definiciones de cursor

Your answer is incorrect.


Antes del primer fetch, %NOTFOUND contiene el valor del NULL, si el Fetch no se ejecuta correctamente (osea cuando no hay
ningun registro), jamas llegara a ser TRUE/FALSE, por lo que la condicion jamas se cumplira y entraras en loop infinito, es por
eso que recomiendan ocupar: EXIT WHEN c1%NOTFOUND OR c1%NOTFOUND IS NULL

fuente: https://docs.oracle.com/cd/B14117_01/appdev.101/b10807/13_elems011.htm?
fbclid=IwAR3Wh9WdorvEzqdpq3PVbsesplwivCsIttbN-vT68qRhgmN5-8KKKv_Rbl0

The correct answer is: Se ejecuta con éxito y da la salida requerida.

/
Question 120 Evalue el siguiente bloque PL/SQL
Not answered

Marked out of
1.00

Cuantos registros insertará?

Select one:
a. 4

b. 0

c. 8

d. 6

e. 10

Your answer is incorrect.

The correct answer is: 8

Question 121 Bajo que situación es necesario crear un CURSOR EXPLICITO?


Not answered

Marked out of Select one:


1.00
a. Cuando una sentencia UPDATE en el bloque PL/SQL modifica mas de una fila

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

d. Cuando cualquier expresion DML o SELECT es usada en un bloque PL/SQL

Your answer is incorrect.

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.

Your answer is incorrect.

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

¿Qué afirmación es verdadera?

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.

Your answer is incorrect.

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

Marked out of Select one or more:


1.00
a. Para cada operación de lenguaje de manipulación de datos (DML) realizada, los índices correspondientes se actualizan
automáticamente.

b. Cuando se elimina una tabla, los índices correspondientes se eliminan automáticamente

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

Your answer is incorrect.

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

Marked out of Select one or more:


1.00
a. Se crea un índice UNIQUE para columnas con restricciones (CONSTRAINTS) PRIMARY KEY y UNIQUE.

b. La restricción UNIQUE (UNIQUE constraint) no permite un valor nulo para la columna.

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.

Your answer is incorrect.


B: Una restricción única puede contener valores nulos porque los valores nulos no se pueden comparar con nada.
D: La restricción NOT NULL asegura que no se permita el valor nulo para la columna

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

Question 126 Examine el siguiente fragmento de código PL / SQL:


Not answered

Marked out of
1.00

Examina la tabla de  EMPLEADOS. que tiene 200 filas.

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.

Select one or more:


a. OPEN c1 (emp_job, 3000);

b. OPEN c1 (EMP_job, emp_salary);

c. OPEN c1 (‘ST_CLERK’, 3000)

d. OPEN c1 (3000, emp_salary);

e. OPEN c1 (NULL, 3000);

Your answer is incorrect.

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

Your answer is incorrect.

Para mayor informacion visite:


https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/sqloperations.htm

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)

- los atributos disponibles para un cursor implicito son:


%FOUND: 

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

The correct answer is: 0

/
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; 

v_employees EmpList := EmpList(); 


BEGIN 

DBMS_OUTPUT.PUT_LINE(v_employees.COUNT);
v_employees.EXTEND; 

v_employees(1) := 30;
Ahora examine la tabla empleado

Que sucede con el codigo PL/SQL?

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.

b. Se ejecuta con éxito y muestra el valor 2.

c. Se ejecuta con éxito y muestra el valor 0.

d. Genera un error porque EXTEND no se puede utilizar para varrays.

Your answer is incorrect.

The correct answer is: Se ejecuta con éxito y muestra el valor 0.

Question 129 Se tiene el siguiente codigo PL/SQL:


Not answered

Marked out of
1.00

¿Qué enunciado elimina la función?

Select one:
a. DELETE gen_email_name;

b. DROP FUNCTION gen_email_name;

c. REMOVE gen_email_name;

d. *** MISSING ***

Your answer is incorrect.

The correct answer is: DROP FUNCTION 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.

¿Qué dos declaraciones CREATE INDEX son válidas?

Select one or more:


a. CREATE INDEX ord_idx4 ON ord,ord_items (ord_no, ord_date, qty);

b. CREATE INDEX ord_idx1 ON ord(ord_no);

c. CREATE INDEX ord_idx3 ON ord_items(item_no);

d. CREATE INDEX ord_idx2 ON ord_items(ord_no);

Your answer is incorrect.


¿Cómo se crean los índices?

Puede crear dos tipos de índices.


Índice único: el servidor Oracle crea automáticamente este índice cuando define una columna en una tabla para tener una
CLAVE PRIMARIA o una restricción ÚNICA. El nombre del índice es el nombre que se le da a la restricción.
Índice no único: este es un índice que un usuario puede crear. Por ejemplo, puede crear el índice de columna FOREIGN KEY
para una unión en una consulta para mejorar la velocidad de recuperación.
Nota: Puede crear manualmente un índice único, pero se recomienda que cree una restricción única, que implícitamente crea
un índice único.

The correct answers are: CREATE INDEX ord_idx2 ON ord_items(ord_no);, CREATE INDEX ord_idx3 ON ord_items(item_no);

Question 131 Evalue el siguiente bloque SQL


Not answered

Marked out of
1.00

A cuantos roles tendra acceso scott?

Select one:
a. 0

b. 2

c. 1

d. 3

Your answer is incorrect.

The correct answer is: 1

/
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:

¿Qué afirmación es cierta con respecto al comando anterior?

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

Your answer is incorrect.

Creando una tabla usando una subconsulta


Crea una tabla e inserta filas combinando la instruccion CREATE TABLE y la opción de subconsulta AS.

    CREATE TABLE table


          [(column, column...)]

     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

Question 133 Necesitas realizar estas tareas:


Not answered
- Crear y asignar un ROL de GERENTE a Blake y Clark
Marked out of
1.00 - Otorgue privilegios CREATE TABLE y CREATE VIEW a Blake y Clark

¿Qué conjunto de sentencias SQL logra los resultados deseados?

Select one:
a. CREATE ROLE manager;
GRANT create table, create voewTO manager;
GRANT manager ROLE TO BLAKE,CLARK;

b. CREATE ROLE manager;


GRANT create table, create view TO manager;
GRANT manager TO BLAKE,CLARK;

c. GRANT manager ROLE TO BLAKE,CLARK;


GRANT create table, create voew TO BLAKE CLARK;
***MISSING***

Your answer is incorrect.


The correct answer is: CREATE ROLE manager;
GRANT create table, create view TO manager;
GRANT manager 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

c. La política se crea utilizando SALES_ORDERS_PKG. THE_PREDICATE sin un parámetro

d. La función THE_PREDICATE tiene un número insuficiente de parámetros en el paquete

Your answer is incorrect.

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.

b. La ejecución falla debido a la cláusula else fuera de lugar.

c. La ejecución es exitosa incluso si no hay 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.

Your answer is incorrect.

Porque irá a la excepción no_data_found.


The correct answer is:  La ejecución falla y lanza excepciones si no se encuentra ningún empleado con EMPLOYEE_ID 115.

/
Question 136

Not answered

Marked out of
1.00

¿Qué afirmación es cierta acerca de las sentencias de recuperación en el código PL / SQL?

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.

Your answer is incorrect.

 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

FOR i IN (SELECT last_name FROM employees ORDER BY last_name) LOOP


DBMS_OUTPUT.PUT_LINE(i.last_name);
END LOOP;
END;
/

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')));

Your answer is incorrect.

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

b. una sentencia SELECT .. INTO no devuelve una fila

c. el tipo de datos devuelto por el SELECT son inconsistentes con los tipos de datos en la clausula INTO

d. una sentencia SELECT .. INTO devuelve mas de una fila

Your answer is incorrect.


una sentencia SELECT .. INTO no devuelve una fila = excepcion NO_DATA_FOUND

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 139 ¿Cuál es una sentencia CREATE TABLE válida?


Not answered

Marked out of Select one:


1.00
a. CREATE TABLE PACKAGE AS (packid number(2));

b. CREATE TABLE 1EMP_TEST AS (empid number(2));

c. CREATE TABLE EMP9$# AS (empid number(2));

d. CREATE TABLE EMP*123 AS (empid number(2));

Your answer is incorrect.


Los nombres de las tablas y los nombres de las columnas deben comenzar con una letra y tener entre 1 y 30 caracteres.
Caracteres A-Z, a-z, 0-9, _, $ y # (caracteres legales, pero su uso es desanimado).
Los caracteres no alfanuméricos como "*" no se recomiendan en el nombre de la tabla de Oracle.
El nombre de la tabla debe comenzar con una letra.

The correct answer is: CREATE TABLE EMP9$# AS (empid number(2));

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

e. un atributo del cursor no puede ser utilizado por LOOP

Your answer is incorrect.


Los siguientes atributos siempre estan disponibles para un cursor PL/SQL

The correct answer is: SQL % FOUND

/
Question 141 Mira el codigo:
Not answered

Marked out of
1.00

¿Qué afirmación es cierta sobre el resultado?

Select one:
a. Da un error porque la variable V_CUSTOMER tiene diferentes tipos en los bloques anidados

b. Ambas declaraciones de salida muestran exactamente los mismos valores.

c. Ambas declaraciones de salida muestran valores diferentes.

d. Da un error porque los bloques anidados no están etiquetados.

Your answer is incorrect.

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 bloque PL/SQL:

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:

¿Qué afirmación es cierta sobre el escenario anterior?

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

Your answer is incorrect.

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

¿Cuál es el resultado cuando se ejecuta el código anterior?

Select one:
a. Da un error porque la función AVG no se puede usar en un bloque PL / SQL

b. Da un error porque la sentencia DECODE 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

d. Da un error porque la función MONTHS_BETWEEN no se puede usar en un bloque PL / SQL.

e. Se ejecuta con éxito.

Your answer is incorrect.

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

¿Qué afirmación es cierta sobre la ejecución del código?

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.

Your answer is incorrect.


The correct answer is: 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

Question 145 Se tiene la siguiente funcion:


Not answered

Marked out of
1.00

Si desea ejecutar la función anterior ¿qué afirmación es verdadera?

Select one:
a. Debe crear una variable de entorno X  y ejecutar el comando EJECUTAR: X: = CALCTAX (1000) ;.

b. Se Debe ejecutar el comando EXECUTE FUNCTION calctax ;.

c. Se Debe crear una variable de entorno X y emitir el comando: X: = CALCTAX ;.

d. Debe crear una variable de entorno X y emitir el comando EXECUTE: X: = CALCTAX ;.

e. Se Debe ejecutar el comando CALCTAX (1000) ;.

Your answer is incorrect.

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

¿Qué afirmación es correcta sobre el resultado de este disparador?

Select one:
a. Da un error en la compilación porque el nuevo calificador está prefijado con dos puntos.

b. Se compila con éxito pero no se dispara, incluso cuando se cumple la condición.

c. Se compila con éxito y se dispara siempre que se cumpla la condición especificada.

d. Da un error en la compilación porque el nuevo calificador solo se puede usar en los triggers de nivel de fila

Your answer is incorrect.


NEW y OLD se pueden usar solo en los disparadores de nivel de fila (row-level triggers.)
The correct answer is: 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

¿Qué afirmación es verdadera?

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.

b. El valor de DISCOUNT_RATE siempre permanece 0.00 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.

Your answer is incorrect.


Un procedimiento one-time-only se ejecuta solo una vez, cuando el paquete se invoca por primera vez dentro de la sesión del
usuario

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

Marked out of Select one or more:


1.00
a. Se puede deshabilitar una restricción (constraint) incluso si la columna de restricción contiene datos.

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.

d. Una clave foranea no puede contener valores nulos.

e. Se impone una restricción(constraint) solo para la operación de inserción en una tabla.

Your answer is incorrect.

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.

Question 149 Examina el siguiente codigo PL/SQL:


Not answered

Marked out of
1.00

¿Cuál es el nombre del procedimiento privado en este paquete?

Select one:
a. UPDATE_EMP

b. UPDATE_SAL

c. INSERT_EMP

d. DELETE_EMP

e. CALC_TAX

Your answer is incorrect.

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.

b. VALIDATE_PLAYER_STAT y BB_PACK se invalidan.

c. VALIDATE_PLAYER_STAT no se invalida.

d. VALIDATE_PLAYER_STAT se invalida.

Your answer is incorrect.

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.

The correct answer is: VALIDATE_PLAYER_STAT no se invalida.

Question 151 ¿Qué afirmaciones son verdaderas con respecto a los índices?
Not answered

Marked out of Select one or more:


1.00
a.  Se puede crear solo un índice usando las mismas columnas.

b. Se pueden crear en tablas y vistas simples.

c. Se pueden crear en tablas y clusters.

d. Se puede crear más de un índice utilizando las mismas columnas si especifica combinaciones de columnas claramente
diferentes

Your answer is incorrect.


The correct answers are: Se pueden crear en tablas y clusters., 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

Marked out of Select one:


1.00
a. Abrir el cursor

b. Comprobar los registros por medio de los atributos del cursor (%)

c. Cerrar el cursor

d. Inicializar LOOP

Your answer is incorrect.


The correct answer is: Comprobar los registros por medio de los atributos del cursor (%)

Question 153 Examine el siguiente código que se planea ejecutar:


Not answered

Marked out of
1.00

¿Qué corrección se debe realizar en el código anterior?

Select one:
a. El procedimiento PROC3 debe ser declarado en la especificación del paquete.

b. La variable x debe declararse en el cuerpo del paquete y eliminarse de la especificación,

c. El código del procedimiento PROC2 debe definirse en el cuerpo del paquete.

d. El encabezado del procedimiento PROC3 debe declararse al principio del cuerpo del paquete.

Your answer is incorrect.

Todo procedimiento que se declare en el header debe usarse en el body


The correct answer is: El código del procedimiento PROC2 debe definirse en el cuerpo del paquete.

/
Question 154 Examina el siguiente codigo:
Not answered

Marked out of
1.00

¿Qué afirmación es cierta sobre la ejecución del código anterior?

Select one:
a. Se ejecuta y muestra nulo.

b. Se ejecuta y el control va a la sentencia else.

c. Se ejecuta y la condición se vuelve verdadera.

d. Falla porque no se asigna ningún valor a la variable v_myage.

Your answer is incorrect.

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.

Question 155 Examina el siguiente bloque de PL/SQL:


Not answered

Marked out of
1.00

¿Qué afirmación es cierta acerca de la salida del bloque PL / SQL?

Select one:
a. Produce un error porque se viola la restricción CHECK al asignar un valor al campo emprec.deptid en el registro

b. Se ejecuta y la salida es emprec.deptname: Sales.

c. Produce un error porque se asigna al campo emprec.empid  un valor NULL  en el registro.

d. Se ejecuta y la salida es emprec.deptname: 

Your answer is incorrect.


El atributo% ROWTYPE proporciona un tipo de registro que representa una fila en una tabla o vista. Las columnas en una fila y
los campos correspondientes en un registro tienen los mismos nombres y tipos de datos. Sin embargo, los campos en un
registro %ROWTYPE no heredan restricciones (CONSTRAINT) como la restricción NOT NULL o check, o los valores
predeterminados.

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.

¿Cuál es el resultado en la compilación?

Select one:
a. Compila exitosamente pero da un error en la ejecución porque no es un disparador a nivel de fila

b. Da un error en la compilación porque la sección de excepción se usa en el activador.

c.  Da un error en la compilación porque no es un trigger de nivel de fila.

d. Compila y ejecuta todo perfectamente

Your answer is incorrect.

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

ejecuta esta instrucción SELECT:

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.

d. La instrucción SQL se ejecuta con éxito y el control se pasa al entorno de llamada

e. El empleado 108 tiene su nombre de correo electrónico actualizado según el resultado de la devolución de la función.

Your answer is incorrect.


1. Cuando se llama desde una instrucción SELECT o una instrucción UPDATE o DELETE en paralelo, la función no puede
modificar ninguna tabla de base de datos.
2. Cuando se llama desde la instrucción UPDATE o DELETE, la función no puede consultar ni modificar ninguna tabla de base
de datos, modificada por esa declaración.
3. Cuando se llama desde una instrucción SELECT, INSERT, UPDATE o DELETE, la función no puede ejecutar instrucciones de
control de transacción de SQL (como COMMIT), instrucciones de control de sesión (como SET ROLE) o instrucciones de
control del sistema (como ALTER SYSTEM). Además, no puede ejecutar sentencias DDL (como CREAR) porque son
seguidas por un compromiso automático.
4. La función no puede llamar a otro subprograma, que rompe una de las restricciones anteriores.

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?

Select one or more:


a. Todos los índices y restricciones definidos en la tabla que se está eliminando también se eliminan.

b. El espacio utilizado por la mesa de empleados se reclama de inmediato.

c. La tabla de empleados se puede recuperar utilizando el comando rollback.

d. La tabla de empleados se mueve a la papelera de reciclaje.

e. Las secuencias utilizadas en la tabla de empleados se vuelven inválidas.

f. Todas las transacciones que no han sido guardadas, son guardadas

Your answer is incorrect.

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.

Question 159 Examine ESHTE paquete:


Not answered

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;

c.  A esta variable no se le puede asignar un valor desde fuera del paquete.

d. V_PLAYER_AVG := .333;

Your answer is incorrect.


La variable no esta declarada como publica.

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

¿Qué pasa cuando ejecutas esta sentencia DELETE?

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.

c. The data and structure of the EMPLOYEES table are deleted

d. You get an error because the statement is not syntactically correct.

Your answer is incorrect.

Se puede eliminar las filas existentes de una tabla utilizando la sentencia DELETE.
DELETE statement.

DELETE [FROM] table


[WHEREcondition];

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

Marked out of Select one or more:


1.00
a. Dejar siempre en una sola linea siempre reduce el tiempo de ejecución de una unidad de programa PL / SQL

b. PLSQL_OPTIMIZE_LEVEL debe establecerse en un valor mayor o igual a 2

c. Los programas PL / SQL que utilizan subrutinas auxiliares relativamente grandes son buenos candidatos para dejar en
una sola linea

d. Solo las subrutinas locales pueden estar en una sola linea

Your answer is incorrect.

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

Marked out of Select one:


1.00
a. Los cursores son declarados implicitos solamente para las sentencias DML

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

Your answer is incorrect.

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. 

- Un cursor implícito desplegará el error TOO_MANY_ROWS si la consulta devuelve más de un registro.


- Un cursor implicito devolverá una excepción NO_DATA_FOUND para cualquier sentencia que deba devolver UNA SOLA FILA,
pero no haya encontrado una fila que encaje con las condiciones especificadas

The correct answer is: Los cursores son declarados implicitos para las sentencias DML y SELECT

Question 163 Mira el siguiente procedimiento:


Not answered

Marked out of
1.00

Este procedimiento debe invocar el procedimiento UPD_BAT_STAT y pasar un parámetro.

¿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);

Your answer is incorrect.


The correct answer is: 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

¿Qué afirmación es cierta sobre el trigger anterior?

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.

b. Da un error en la compilación porque debería ser un trigger a nivel de instrucción.

c. Compila y se dispara con éxito cuando el límite de crédito se actualiza en la tabla de clientes.

d. Da un error en la compilación debido al comando COMMIT en el código de activación.

Your answer is incorrect.


The correct answer is: 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.

Question 165 Examine esta especificación del paquete:


Not answered

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);

b. PROCEDURE combine (p_no NUMBER);

c. PROCEDURE combine;

d. combine(p_val_1 VARCHAR2, p_val_2 NUMBER);

Your answer is incorrect.


The correct answer is: PROCEDURE combine;

/
Question 166 Examine la estructura de la tabla departments en el esquema SCOTT.
Not answered

Marked out of
1.00

Ahora examine el siguiente bloque de PL/SQL

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.)

Select one or more:


a. SCOTT debe otorgar tanto el privilegio de ejecución para el procedimiento como un privilegio de inserción para la tabla
a JONES

b. SCOTT debe otorgar solo el privilegio de ejecución de el procedimiento a JONES.

c. JONES ejecuta el procedimiento con los derechos del definidor.

d. JONES ejecuta el procedimiento con derechos de invocador.

Your answer is incorrect.


Cuando se ejecuta un procedimiento con derechos de un definidor, el procedimiento se ejecuta con los privilegios del
propietario.

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;

b. ALTER TABLE student ADD COLUMN3(phone varchar2(9))

c. No se puede especificar la posicion de una columna cuando una nueva columna es agregada

d. ALTER TABLE student ADD COLUMN(phone varchar2(9)) AS COLUMN3;

Your answer is incorrect.


The correct answer is: 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.)

Select one or more:


a. Definir y compilar los procedimientos de forma independiente y no como parte de un paquete

b. Usar los cursores para buscar valores.

c. Eliminar las sentencias de SQL redundantes en el procedimiento

d. Evitar la restricción NOT NULL cuando se declara la variable

Your answer is incorrect.


The correct answers are: Eliminar las sentencias de SQL redundantes en el procedimiento, Evitar la restricción NOT NULL cuando
se declara la variable

/
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.

¿Qué afirmación es cierta en este escenario?

Select one:
a. Se puede agregar la restricción de clave principal incluso si existen datos, siempre que no haya valores duplicados

b. La restricción de clave principal se puede crear solo en el momento de la creación de la tabla

c. No se puede tener dos restricciones en una columna

d. No se puede agregar una restricción de clave principal si existen datos en la columna

Your answer is incorrect.


The correct answer is: Se puede agregar la restricción de clave principal incluso si existen datos, siempre que no haya valores
duplicados

Question 170 Mira el siguiente procedimiento:


Not answered

Marked out of
1.00

¿Qué afirmaciones invocarán con éxito este procedimiento? (Escoge dos)

Select one or more:


a. EXECUTE INSERT_TEAM(3, 'AUSTIN', 'LONGHORNS');

b. EXECUTE INSERT_TEAM(3, V_NAME:='LONGHORNS', V_CITY:='AUSTIN');

c. EXECUTE INSERT_TEAM;

d. EXECUTE INSERT_TEAM(3, V_NAME=>'LONGHORNS', V_CITY=>'AUSTIN');

e. EXECUTE INSERT_TEAM(3, 'LONGHORNS');

Your answer is incorrect.


The correct answers are: EXECUTE INSERT_TEAM(3, V_NAME=>'LONGHORNS', V_CITY=>'AUSTIN');, EXECUTE INSERT_TEAM(3,
'AUSTIN', 'LONGHORNS');

◄ Announcements Jump to... EP2- La esperanza 2 BAD ►

También podría gustarte