PLSQL - Final2
PLSQL - Final2
Review your answers, feedback, and question scores below. An asterisk (*)
indicates a correct answer.
Final Exam Semester 2
An INDEX BY table
A record
A CLOB
An explicit cursor
Correct
DECLARE
TYPE t_dnames IS TABLE OF
departments.department_name%TYPE
INDEX BY INTEGER;
dept_names_tab t_dnames;
DECLARE
TYPE t_dnames IS TABLE OF
departments.department_name%TYPE
INDEX BY BINARY_INTEGER;
dept_names_tab t_dnames;
(*)
DECLARE
TYPE t_dnames IS TABLE OF
departments.department_name%TYPE
INDEX BY PLS_INTEGER;
dept_names_tab t_dnames%TYPE;
DECLARE
TYPE t_dnames IS TABLE OF
department_name
INDEX BY BINARY_INTEGER;
dept_names_tab t_dnames;
Correct
True
False (*)
Correct
USER_DIRECTORIES
USER_BFILES
ALL_DIRECTORIES (*)
USER_EXTERNAL_FILES
ALL_BFILES
Correct
How would the DBA allow all database users to query the BFILEs in this
directory? Mark for Review
(1) Points
Correct
Page 1 of 4
Test: Final Exam Semester 2
Review your answers, feedback, and question scores below. An asterisk (*)
indicates a correct answer.
Final Exam Semester 2
DECLARE
v_locator BFILE;
BEGIN
SELECT resume INTO v_locator FROM bigemp
WHERE employee_id = 100;
-- Point A
DBMS_LOB.FILEOPEN(v_locator);
DBMS_LOB.READ(v_locator, ....); ....
DBMS_LOB.FILECLOSE(v_locator);
END IF;
END; Mark for Review
(1) Points
IF DBMS_LOB.FILEEXISTS(v_locator) = 1
THEN (*)
IF DBMS_LOB.FILEEXISTS(v_locator)
THEN
IF DBMS_LOB.FILEEXISTS THEN
IF BFILEEXISTS(v_locator) THEN
Correct
Correct
True
False (*)
Incorrect. Refer to
Section 11.
True (*)
False
Correct
True (*)
False
Correct
Page 2 of 4
Test: Final Exam Semester 2
Review your answers, feedback, and question scores below. An asterisk (*)
indicates a correct answer.
Final Exam Semester 2
BLOB (*)
LONG RAW
BFILE
LONG
Correct
Which of the following changes to the LOCATIONS table will allow the
procedure to be recompiled successfully without editing its code? (Choose
two.) Mark for Review
(1) Points
Correct
Incorrect. Refer to
Section 12.
BEGIN
utldtree('DEPARTMENTS');
END;
BEGIN
deptree_fill('TABLE','BOB','DEPARTMENTS');
END;
(*)
BEGIN
deptree_fill('TABLE','DEPARTMENTS');
END;
BEGIN
ideptree('TABLE','BOB','DEPARTMENTS');
END;
Correct
Correct
Page 3 of 4
Test: Final Exam Semester 2
Review your answers, feedback, and question scores below. An asterisk (*)
indicates a correct answer.
Final Exam Semester 2
Which of the following will display the dependency between DEPTFUNC and
DEPARTMENTS? Mark for Review
(1) Points
(*)
Incorrect. Refer to
Section 12.
True (*)
False
Incorrect. Refer to
Section 12.
18. When a table is dropped, all PL/SQL subprograms that
reference the table are automatically dropped. True or False? Mark
for Review
(1) Points
True
False (*)
Correct
DECLARE
compo_type
(field1 NUMBER,
field2 VARCHAR2(30));
DECLARE
TYPE compo_type IS
(field1 NUMBER,
field2 VARCHAR2(30));
DECLARE
TYPE compo_type IS RECORD
(field1 NUMBER,
field2 VARCHAR2(30));
(*)
DECLARE
compo_type IS RECORD
(field1 NUMBER,
field2 VARCHAR2(30));
Correct
DECLARE
v_myrec IS RECORD mypack.mytype;
BEGIN ...
DECLARE
v_myrec mypack.mytype;
BEGIN ...
(*)
DECLARE
v_myrec mytype;
BEGIN ...
DECLARE
v_myrec IS RECORD (mypack.mytype);
BEGIN ...
Correct
Page 4 of 4
Test: Final Exam Semester 2
Review your answers, feedback, and question scores below. An asterisk (*)
indicates a correct answer.
emp_sals_tab(employee_id) := v_emprec.salary;
t_emp_sals(v_emprec.employee_id) := v_emprec.salary;
emp_sals_tab(i) := v_emprec.salary;
DECLARE
TYPE t_dnames IS TABLE OF
departments.department_name%TYPE
INDEX BY INTEGER;
dept_names_tab t_dnames;
DECLARE
TYPE t_dnames IS TABLE OF
departments.department_name%TYPE
INDEX BY BINARY_INTEGER;
dept_names_tab t_dnames;
(*)
DECLARE
TYPE t_dnames IS TABLE OF
departments.department_name%TYPE
INDEX BY PLS_INTEGER;
dept_names_tab t_dnames%TYPE;
DECLARE
TYPE t_dnames IS TABLE OF
department_name
INDEX BY BINARY_INTEGER;
dept_names_tab t_dnames;
Correct
A record
%ROWTYPE
A BLOB
4. BFILEs are stored outside the database and can be queried and updated
by using procedures in DBMS_LOB. True or False? Mark for Review
(1) Points
True
False (*)
IF DBMS_LOB.FILEEXISTS(v_locator) THEN
IF DBMS_LOB.FILEEXISTS THEN
IF BFILEEXISTS(v_locator) THEN
Page 1 of 4
Review your answers, feedback, and question scores below. An asterisk (*)
indicates a correct answer.
USER_DIRECTORIES
USER_BFILES
ALL_DIRECTORIES (*)
USER_EXTERNAL_FILES
ALL_BFILES
True
False (*)
Correct
Using a cursor FOR loop instead of opening and closing the cursor
explicitly
BEGIN
utldtree('DEPARTMENTS');
END;
BEGIN
deptree_fill('TABLE','BOB','DEPARTMENTS');
END;
(*)
BEGIN
deptree_fill('TABLE','DEPARTMENTS');
END;
BEGIN
ideptree('TABLE','BOB','DEPARTMENTS');
END;
Correct
Page 2 of 4
Review your answers, feedback, and question scores below. An asterisk (*)
indicates a correct answer.
True (*)
False
Correct
12. The PL/SQL variable V_LAST_NAME is used to store fetched values of
the LAST_NAME column of the EMPLOYEES table. To minimize dependency
failures, the variable should be declared as:
v_last_name VARCHAR2(25);
True or False?
Mark for Review
(1) Points
True
False (*)
Correct
13. Which of the following will display dependency information which has
been generated by executing the DEPTREE_FILL procedure? (Choose two.) Mark
for Review
(1) Points
14. Which of the following best describes the difference between BLOB
and BFILE data? Mark for Review
(1) Points
BLOB data is stored inside the database, while BFILE data is outside
the database in separate operating system files. (*)
A table can contain several BLOB columns but only one BFILE column.
15. Table NEWEMP contains a PHOTO_ID column of datatype LONG RAW. Which
of the following will convert this column to a suitable new LOB datatype?
Mark for Review
(1) Points
Page 3 of 4
Review your answers, feedback, and question scores below. An asterisk (*)
indicates a correct answer.
16. A LONG column can be converted to CLOB using a single ALTER TABLE
command. True or False? Mark for Review
(1) Points
True (*)
False
Correct
17. CLOB and BLOB are internal LOB datatypes, while BFILE is an external
LOB datatype. True or False? Mark for Review
(1) Points
True (*)
False
Incorrect. Refer to Section 11.
18. You need to store very large amounts of text data in a table column
inside the database. Which datatype should you use for this column? Mark
for Review
(1) Points
CLOB (*)
BLOB
LONG
VARCHAR2(4000)
19. A PL/SQL package named MYPACK declares a record type named MYTYPE as
a public variable in the package specification. Which of the following
anonymous blocks successfully declares a local variable of datatype MYTYPE?
Mark for Review
(1) Points
DECLARE
v_myrec IS RECORD mypack.mytype;
BEGIN ...
DECLARE
v_myrec mypack.mytype;
BEGIN ...
(*)
DECLARE
v_myrec mytype;
BEGIN ...
DECLARE
v_myrec IS RECORD (mypack.mytype);
BEGIN ...
20. Which of the following will declare a composite PL/SQL data type
named COMPO_TYPE, containing two fields named FIELD1 and FIELD2? Mark for
Review
(1) Points
DECLARE
compo_type
(field1 NUMBER,
field2 VARCHAR2(30));
DECLARE
TYPE compo_type IS
(field1 NUMBER,
field2 VARCHAR2(30));
DECLARE
TYPE compo_type IS RECORD
(field1 NUMBER,
field2 VARCHAR2(30));
(*)
DECLARE
compo_type IS RECORD
(field1 NUMBER,
field2 VARCHAR2(30));
Correct
Page 4 of 4
How would the DBA allow all database users to query the BFILEs in this
directory?
Mark for Review
(1) Points
USER_DIRECTORIES
USER_BFILES
ALL_DIRECTORIES (*)
USER_EXTERNAL_FILES
ALL_BFILES
Correct Correct
DECLARE
v_locator BFILE;
BEGIN
SELECT resume INTO v_locator FROM bigemp
WHERE employee_id = 100;
-- Point A
DBMS_LOB.FILEOPEN(v_locator);
DBMS_LOB.READ(v_locator, ....); ....
DBMS_LOB.FILECLOSE(v_locator);
END IF;
END;
Mark for Review
(1) Points
IF DBMS_LOB.FILEEXISTS(v_locator) THEN
IF DBMS_LOB.FILEEXISTS THEN
IF BFILEEXISTS(v_locator) THEN
An INDEX BY table
A record
A CLOB
An explicit cursor
Correct Correct
A record
%ROWTYPE
A BLOB
Correct Correct
6. An INDEX BY table of records can store a maximum of 255 records.
True or False? Mark for Review
(1) Points
True
False (*)
CLOB
BLOB (*)
LONG RAW
BFILE
LONG
Correct Correct
For applicant_id 100, we want to modify the value of the RESUME column
value from "I worked for Oracle" to "I worked for Oracle for five years".
UPDATE job_applicants
SET SUBSTR(resume, 21,14) = 'for five years'
WHERE candidate_id = 100;
UPDATE job_applicants
SET resume = 'I worked for Oracle for five years'
WHERE candidate_id = 100;
(*)
DECLARE
v_locator CLOB;
BEGIN
v_locator := 'I worked for Oracle for five years';
UPDATE job_applicants
SET resume = DBMS_LOB.WRITE(v_locator)
WHERE candidate_id = 100;
END;
DECLARE
v_lobloc CLOB;
BEGIN
SELECT resume INTO v_lobloc FROM job_applicants
WHERE applicant_id = 100;
DBMS_LOB.WRITE(v_lobloc,14,21,'for five years');
END;
(*)
A table can contain several BLOB columns but only one BFILE column.
Correct Correct
SELECT (*)
DBMS_LOB.PUT
DBMS_LOB.GETLENGTH
DBMS_LOB.READ (*)
Correct Correct
11. CLOB and BLOB are internal LOB datatypes, while BFILE is an
external LOB datatype. True or False? Mark for Review
(1) Points
True (*)
False
Correct Correct
Which of the following changes to the LOCATIONS table will allow the
procedure to be recompiled successfully without editing its code? (Choose
two.)
Mark for Review
(1) Points
(*)
True
False (*)
Correct Correct
True (*)
False
Correct Correct
18. The PL/SQL variable V_LAST_NAME is used to store
fetched values of the LAST_NAME column of the EMPLOYEES table. To minimize
dependency failures, the variable should be declared as:
v_last_name VARCHAR2(25);
True or False?
Mark for Review
(1) Points
True
False (*)
DECLARE
compo_type
(field1 NUMBER,
field2 VARCHAR2(30));
DECLARE
TYPE compo_type IS
(field1 NUMBER,
field2 VARCHAR2(30));
DECLARE
TYPE compo_type IS RECORD
(field1 NUMBER,
field2 VARCHAR2(30));
(*)
DECLARE
compo_type IS RECORD
(field1 NUMBER,
field2 VARCHAR2(30));
Correct Correct
20. A PL/SQL package named MYPACK declares a record type
named MYTYPE as a public variable in the package specification. Which of
the following anonymous blocks successfully declares a local variable of
datatype MYTYPE? Mark for Review
(1) Points
DECLARE
v_myrec IS RECORD mypack.mytype;
BEGIN ...
DECLARE
v_myrec mypack.mytype;
BEGIN ...
(*)
DECLARE
v_myrec mytype;
BEGIN ...
DECLARE
v_myrec IS RECORD (mypack.mytype);
BEGIN ...
Review your answers, feedback, and question scores below. An asterisk (*)
indicates a correct answer.
1. Which of the following statements about BFILEs are NOT true? (Choose
two.) Mark for Review
(1) Points
Correct
IF DBMS_LOB.FILEEXISTS(v_locator) THEN
IF DBMS_LOB.FILEEXISTS THEN
IF BFILEEXISTS(v_locator) THEN
Correct
3. BFILEs are stored outside the database and can be queried and updated
by using procedures in DBMS_LOB. True or False? Mark for Review
(1) Points
True
False (*)
Correct
DECLARE
v_ed_rec IS RECORD ed_pack.ed_type;
BEGIN ...
DECLARE
v_ed_rec ed_pack.ed_type;
BEGIN ...
(*)
DECLARE
v_ed_rec ed_pack.ed_type%ROWTYPE;
BEGIN...
DECLARE
v_ed_rec ed_pack.ed_type%TYPE;
BEGIN ...
DECLARE
v_myrec IS RECORD mypack.mytype;
BEGIN ...
DECLARE
v_myrec mypack.mytype;
BEGIN ...
(*)
DECLARE
v_myrec mytype;
BEGIN ...
DECLARE
v_myrec IS RECORD (mypack.mytype);
BEGIN ...
Correct
Page 1 of 4
Test: Final Exam Semester 2
Review your answers, feedback, and question scores below. An asterisk (*)
indicates a correct answer.
Using a cursor FOR loop instead of opening and closing the cursor
explicitly
Correct
Correct
Nothing is invalidated because the PL/SQL code does not reference the
GENDER column.
Which of the following changes to the LOCATIONS table will allow the
procedure to be recompiled successfully without editing its code? (Choose
two.)
Mark for Review
(1) Points
Correct
Page 2 of 4
Review your answers, feedback, and question scores below. An asterisk (*)
indicates a correct answer.
11. Which of the following is NOT created when the utldtree.sql script
is run? Mark for Review
(1) Points
Correct
Correct
13. Which of the following methods can be used to query CLOB data
values? (Choose two.) Mark for Review
(1) Points
SELECT (*)
DBMS_LOB.PUT
DBMS_LOB.GETLENGTH
DBMS_LOB.READ (*)
Correct
14. CLOB and BLOB are internal LOB datatypes, while BFILE is an external
LOB datatype. True or False? Mark for Review
(1) Points
True (*)
False
Correct
15. A LONG column can be converted to CLOB using a single ALTER TABLE
command. True or False? Mark for Review
(1) Points
True (*)
False
Correct
Page 3 of 4
Review your answers, feedback, and question scores below. An asterisk (*)
indicates a correct answer.
16. BLOB, JPEG, BFILE and MP3 are all LOB column datatypes. True or
False? Mark for Review
(1) Points
True
False (*)
Correct
17. You need to add a new column to the EMPLOYEES table. This column
will store each employee's favourite movie. A movie can be up to 4GB in
size and the movies will be stored inside the database for better security.
Which datatype must you use for this column? Mark for Review
(1) Points
CLOB
BLOB (*)
LONG RAW
BFILE
LONG
Correct
18. We want to store a complete copy of the DEPARTMENTS table (all the
rows and all the columns) in a single PL/SQL variable. Which of the
following kinds of variable could we use? Mark for Review
(1) Points
An INDEX BY table
A record
A CLOB
An explicit cursor
Correct
19. The following code declares an INDEX BY table and populates it with
employees' salaries, using the employee_id as the BINARY_INTEGER index of
the table:
DECLARE
TYPE t_emp_sals IS TABLE OF employees.salary%TYPE
INDEX BY BINARY_INTEGER;
emp_sals_tab t_emp_sals;
BEGIN
FOR v_emprec IN (SELECT employee_id, salary FROM employees)
LOOP
-- Line A
END LOOP;
END;
emp_sals_tab(employee_id) := v_emprec.salary;
t_emp_sals(v_emprec.employee_id) := v_emprec.salary;
emp_sals_tab(i) := v_emprec.salary;
Correct
True
False (*)
Correct
Page 4 of 4