Anca Part1
Anca Part1
Correct
2. Which of the following statements about PL/SQL and SQL is true? (1) Points
PL/SQL and SQL are both ANSI-compliant.
PL/SQL and SQL can be used with many types of databases, including Oracle.
PL/SQL and SQL are both Oracle proprietary programming languages.
PL/SQL allows basic program logic and control flow to be combined with SQL statements.
(*)
Correct
3. PL/SQL extends SQL by including all of the following except: (1) Points
variables
conditional statements
reusable program units
constants
nonprocedural constructs (*)
Correct
4. Which PL/SQL block type must return a value? (1) Points
Anonymous
Function (*)
Procedure
Correct
5. Given below are the parts of a PL/SQL block:
1. END;
2. EXCEPTION
3. DECLARE
4. BEGIN
(1) Points
2,1,4,3
3,4,2,1 (*)
3,2,4,1
4,3,2,1
Correct
6. Which statements are optional in a PL/SQL block? (Choose two.) (1) Points
(Choose all correct answers)
DECLARE (*)
BEGIN
EXCEPTION (*)
END;
Correct
7. In which part of the PL/SQL block are declarations of variables defined? (1) Points
Executable
Exception
Declarative (*)
Definition
Correct
8. What kind of block is defined by the following PL/SQL code?
BEGIN
DBMS_OUTPUT.PUT_LINE('My first quiz');
END;
(1) Points
procedure
subroutine
function
anonymous (*)
Correct
9. Errors are handled in the Exception part of the PL/SQL block. True or False? (1)
Points
True (*)
False
Correct
10. Which of the following can you use PL/SQL to do? (1) Points
Update data (DML)
Develop Web applications using the Web Application Toolkit
Manage database security
Create customized reports
All of the above (*)
Correct
11. Which of the following statements about exception handling in PL/SQL is false? (1) Points
You can prepare for database exceptions by creating exception handlers.
You can prepare for application exceptions by creating exception handlers.
Exception handling code tells your program what to do when an error is encountered.
Exception handling code can be grouped together in a PL/SQL block.
None of the above (*)
Correct
12. Comparing PL/SQL with other languages such as C and Java, which of the
following statements is true? (1) Points
PL/SQL is harder to learn
PL/SQL is easier to learn and more efficient (*)
PL/SQL is easier to learn but less efficient
PL/SQL is easier to learn and does not require an Oracle database or tool
Correct
Section 2 13. Examine the following code. Line A causes an exception. What will be
displayed when the block is executed?
DECLARE
var_a NUMBER := 6;
var_b DATE;
BEGIN
var_a := var_a * 2;
var_b := '28 December 2006'; -- Line A
var_a := var_a * 2;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(var_a);
END;
(1) Points
12 (*)
24
6
Nothing will be displayed
Correct
14. When nested blocks are used, which blocks can or must be labeled? (1) Points
The inner block must be labeled, the outer block can be labeled.
Both blocks must be labeled
Nested blocks cannot be labeled
The outer block must be labeled if it is to be referred to in the inner block. (*)
Correct
15. Examine the following code. At Line A, we want to assign a value of 22 to the outer
block's variable v_myvar. What code should we write at Line A?
<<outer_block>>
DECLARE
v_myvar NUMBER;
BEGIN
<<inner_block>>
DECLARE
v_myvar NUMBER := 15;
BEGIN
-- Line A
END;
END;
(1) Points
outer_block.v_myvar := 22; (*)
v_myvar := 22;
<<outer_block>>.v_myvar := 22;
v_myvar(outer_block) := 22;
We cannot reference the outer block's variable because both variables have the same name
Correct
16. What will be displayed when the following code is executed?
DECLARE
x VARCHAR2(6) := 'Chang';
BEGIN
DECLARE
x VARCHAR2(12) := 'Susan';
BEGIN
x := x || x;
END;
DBMS_OUTPUT.PUT_LINE(x);
END;
(1) Points
Susan
Chang (*)
ChangChang
SusanChang
The code will fail with an error
Correct
17. In the following code, Line A causes an exception. What value will be displayed
when the code is executed?
DECLARE
outer_var VARCHAR2(50) := 'My';
BEGIN
outer_var := outer_var || ' name';
DECLARE
inner_var NUMBER;
BEGIN
inner_var := 'Mehmet'; -- Line A
outer_var := outer_var || ' is';
END;
outer_var := outer_var || ' Zeynep';
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(outer_var);
END;
(1) Points
My
My name (*)
My name is
My name is Zeynep
Correct
18. Which of these are PL/SQL data types? (Choose three.) (1) Points (Choose
all correct answers)
Scalar (*)
Identifier
Delimiter
Composite (*)
LOB (*)
Correct
19. Which statement most closely describes "data type"? (1) Points
It is the value of a variable.
It specifies a storage format, constraints, and a valid range of values for a variable. (*)
It allows different kinds of data to be stored in a single variable.
It is used to test if errors have occurred.
Correct
20. A collection is a composite data type. True or False? (1) Points
True (*)
False
Correct
21. Identify which of the following assignment statements are valid. (Choose three.) (1) Points
(Choose all correct answers)
v_last_name := Chandra;
v_blackout_date := '31-DEC-2006'; (*)
v_population := 333444; (*)
v_music_type := 'ROCK'; (*)
Correct
22. Variables can be assigned a value in both the Executable and Declaration sections of
a PL/SQL program. True or False? (1) Points
True (*)
False
Correct
23. Evaluate the following declaration. Determine whether or not it is legal.
DECLARE
maxsalary NUMBER(7) = 5000;
(1) Points
Correct.
Not correct. (*)
Correct
24. Variables can be used in the following ways in a PL/SQL block. (Choose two.) (1)
Points (Choose all correct answers)
To store data values. (*)
To rename tables and columns.
To refer to a single data value several times. (*)
To comment code.
Correct
25. Which of the following can be assigned to a Boolean variable?
1. Null
2. False
3. True
4. 0
(1) Points
2 and 3
2, 3 and 4
1, 2 and 3 (*)
1, 2, 3 and 4
Correct
26. A variable must have a value if NOT NULL is specified. True or False? (1) Points
True (*)
False
Correct
27. If you are using the %TYPE attribute, you can avoid hard coding the: (1) Points
Data type (*)
Table name
Column name
Constraint
Correct
28. Which of the following is an example of using a case convention for good
programming practice? (1) Points
Assign variables by using functions.
Declare variables in the DECLARE section.
Declare data types in uppercase. (*)
Include an exception handler in every PL/SQL block.
Correct
29. Which of the following will help to make code easier to read? (1) Points
Naming variables.
Using %Type.
Including comments in the code. (*)
Correct
30. What good programming practice would make this code easier to follow?
DECLARE
v_myvar VARCHAR2(20);
BEGIN
DECLARE
v_myvar VARCHAR2(15);
BEGIN
...
END;
END;
(1) Points
Using a consistent naming convention for variables
Labeling the blocks (*)
Avoid using column names as identifiers
Developing a case convention for the code
31. Reserved words can be used as identifiers. True or False? (1) Points
True
False (*)
Correct
32. Which of the following are valid identifiers? (Choose two.) (1) Points
(Choose all correct answers)
yesterday (*)
yesterday's date
number_of_students_in_the_class
v$testresult (*)
#students
Correct
33. Which of the following are PL/SQL lexical units? (Choose two.) (1) Points
(Choose all correct answers)
Identifiers (*)
Table Columns
Reserved Words (*)
Anonymous Blocks
SQL Workshop
Correct
34. TO_NUMBER, TO_CHAR, and TO_DATE are all examples of: (1) Points
Implicit conversion functions
Explicit conversion functions (*)
Character functions
Operators
Correct
35. What is wrong with this assignment statement?
myvar := 'To be or not to be';
Correct
36. Single row character functions are valid SQL functions in PL/SQL. True or False?
(1) Points
True (*)
False
Correct
37. What is the output when the following program is executed?
set serveroutput on
DECLARE
a VARCHAR2(10) := '333';
b VARCHAR2(10) := '444';
c PLS_INTEGER;
d VARCHAR2(10);
BEGIN
c := TO_NUMBER(a) + TO_NUMBER(b);
d := a || b;
DBMS_OUTPUT.PUT_LINE(c);
DBMS_OUTPUT.PUT_LINE(d);
END;
(1) Points
Nothing. The code will result in an error.
c=777 and d=333444 (*)
c=777 and d=777
c=333444 and d=777
Correct
38. PL/SQL can convert a VARCHAR2 value containing alphabetic characters to a
NUMBER value. True or False? (1) Points
True
False (*)
Correct
39. If today's date is 14th June 2007, which statement will correctly convert today's date
to the value: June 14, 2007 ? (1) Points
TO_CHAR(sysdate)
TO_DATE(sysdate)
TO_DATE(sysdate,'Month DD, YYYY')
TO_CHAR(sysdate, 'Month DD, YYYY') (*)
Correct
40. Examine the following code:
1 DECLARE
2 x NUMBER;
3 BEGIN
4 x:= '300';
5 END;
(1) Points
'300'
300 (*)
NULL
Correct
41. When you use a function to convert data types in a PL/SQL program, it is called ______
conversion. (1) Points
Explicit (*)
Implicit
TO_CHAR
Correct
Section 3 42. How many DML statements can be included in a single transaction? (1)
Points
Only one
None. A transaction cannot include DML statements.
A maximum of four DML statements
As many as needed (*)
Correct
43. The following anonymous block of code is run:
BEGIN
INSERT INTO countries (id, name)
VALUES ('XA', 'Xanadu');
INSERT INTO countries (id, name)
VALUES ('NV','Neverland');
COMMIT;
COMMIT;
ROLLBACK;
END;
(1) Points
You have nothing new; the last ROLLBACK undid the INSERTs.
You have the rows added twice; there are four new rows.
You have the two new rows added. (*)
You get an error; you cannot COMMIT twice in a row.
Correct
44. Assume there are 5 employees in Department 10. What happens when the following
statement is executed?
UPDATE employees
SET salary=salary*1.1;
(1) Points
All employees get a 10% salary increase. (*)
No rows are modified because you did not specify "WHERE department_id=10"
A TOO_MANY_ROWS exception is raised.
An error message is displayed because you must use the INTO clause to hold the new salary.
Correct
45. You declare an implicit cursor in the DECLARE section of a PL/SQL block. True or
False? (1) Points
True
False (*)
Correct
46. There are no employees in Department 77. What will happen when the following
block is executed?
BEGIN
DELETE FROM employees
WHERE department_id=77;
DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT);
END;
(1) Points
A NO_DATA_FOUND exception is raised.
A NULL is displayed.
A zero (0) is displayed. (*)
An exception is raised because the block does not contain a COMMIT statement.
Correct
47. A variable is declared as:
DECLARE
v_salary employees.salary%TYPE;
BEGIN
(1) Points
SELECT salary
INTO v_salary
FROM employees
WHERE employee_id=100;
(*)
SELECT v_salary
INTO salary
FROM employees
WHERE employee_id=100;
SELECT salary
FROM employees
INTO v_salary;
SELECT salary
FROM employees
WHERE employee_id=100
INTO v_salary;
Correct
48. A variable is declared as:
DECLARE
v_holdit employees.last_name%TYPE;
BEGIN ...
(1) Points
SELECT *
INTO v_holdit
FROM employees;
SELECT last_name
INTO v_holdit
FROM employees;
SELECT last_name
INTO v_holdit
FROM employees
WHERE employee_id=100;
(*)
SELECT salary
INTO v_holdit
FROM employees
WHERE employee_id=100;
Correct
49. Which one of these SQL statements can be directly included in a PL/SQL
executable block? (1) Points
SELECT last_name FROM employees
WHERE employee_id=100;
DESCRIBE employees;
UPDATE employees
SET last_name='Smith';
(*)
DROP TABLE employees;
Correct
50. The following code will return the last name of the employee whose employee id is
equal to 100: True or False?
DECLARE
v_last_name employees.last_name%TYPE;
employee_id employees.employee_id%TYPE := 100;
BEGIN
SELECT last_name INTO v_last_name
FROM employees
WHERE employee_id = employee_id;
END;
(1) Points
True
False (*)
Correct