PLSQL Oracle Mid Term Exam Semester 1 Part 1
PLSQL Oracle Mid Term Exam Semester 1 Part 1
This is Part I of the Mid Term Exam for Semester 1. Section 1 1. (1) Points Processing Procedural (*) Primary Proprietary The P in PL/SQL stands for: Mark for Review
Correct
Correct 2. Which of the following statements about PL/SQL and SQL i Mark for Review
PL/SQL and SQL are both ANSI-compliant. PL/SQL and SQL can be used with many types of databases, including Oracl e. PL/SQL and SQL are both Oracle proprietary programming languages. PL/SQL allows basic program logic and control flow to be combined with S QL statements. (*)
Correct
Correct
3. A program which specifies a list of operations to be per formed sequentially to achieve the desired result can be called: Mark for Review (1) Points declarative nondeclarative procedural (*)
low level
Correct
Correct
4. Using Oracle Application Express, you can create Web app lications that include PL/SQL. True or False? Mark for Review (1) Points True (*) False
Correct
Correct
5. Comparing PL/SQL with other languages such as C and Java , which of the following statements is true? Mark for Review (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 too l
Correct
Correct
6. Which of the following statements about exception handli ng in PL/SQL is false? Mark for Review (1) Points You can prepare for database exceptions by creating exception handlers. You can prepare for application exceptions by creating exception handler s. Exception handling code tells your program what to do when an error is e ncountered.
Exception handling code can be grouped together in a PL/SQL block. None of the above (*)
Correct
de? BEGIN DBMS_OUTPUT.PUT_LINE('My first quiz'); END; Mark for Review (1) Points procedure subroutine function anonymous (*)
Correct
To perform conditional tests To allow a set of statements to be executed repeatedly To display results to check if our code is working correctly (*) To store new rows in the database
Correct
1. 2. 3. 4.
Arrange the parts in order. Mark for Review (1) Points 2,1,4,3 3,4,2,1 (*) 3,2,4,1 4,3,2,1
Correct
Correct
10. Which component of Oracle Application Express is used to enter and run SQL statements and PL/SQL blocks? Mark for Review (1) Points Application Builder SQL Workshop (*) Utilities Object Browser
Correct
11. Which keywords must be included in every PL/SQL block? ( Mark for Review (Choose all correct answers)
Correct
Correct In which part of the PL/SQL block are declarations of va Mark for Review
12. riables defined? (1) Points Executable Exception Declarative (*) Definition
Correct
Correct Errors are handled in the Exception part of the PL/SQL b Mark for Review
Correct
Correct
Section 2 14. not it is legal. Evaluate the following declaration. Determine whether or
Correct
Correct Variables can be used in the following ways in a PL/SQL Mark for Review (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
Correct
16. When a variable is defined using the NOT NULL keywords, the variable must contain a value. True or False? Mark for Review (1) Points True (*) False
Correct
Correct
17. Identify which of the following assignment statements ar e valid. (Choose three.) Mark for Review (1) Points (Choose all correct answers) v_last_name := Chandra;
Correct
DECLARE display_qty CONSTANT NUMBER; Mark for Review (1) Points Correct. Not correct. (*)
Correct
Correct
19. Which of the following are disadvantages of implicit dat a type conversions? (Choose two.) Mark for Review (1) Points (Choose all correct answers) The code is harder to read and understand (*) You cannot store alphabetic characters in a variable of data type NUMBER If Oracle changes the conversion rules in the future, your code may not work any more (*) Oracle cannot implicitly convert a number value to a character string
3 BEGIN 4 x:= '300'; 5 END; After line 4, what is the value of x? Mark for Review (1) Points '300' 300 (*) NULL
Incorrect Section 2
21. If today's date is 14th June 2007, which statement will correctly convert today's date to the value: June 14, 2007 ? Mark for Review (1) Points TO_CHAR(sysdate) TO_DATE(sysdate) TO_DATE(sysdate,'Month DD, YYYY') TO_CHAR(sysdate, 'Month DD, YYYY') (*)
Incorrect
22. The DECODE function is available in PL/SQL procedural st atements. True or False? Mark for Review (1) Points True False (*)
Correct
Correct 23. When you use a function to convert data types in a PL/SQ
L program, it is called ______ conversion. (1) Points Explicit (*) Implicit TO_CHAR
Correct
Correct 24. What is the output when the following program is execute
d? 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; Mark for Review (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
Correct 25. TO_NUMBER, TO_CHAR, and TO_DATE are all examples of:
Correct
Correct 26. Examine the following code. What is the final value of V
_MYVAR ? DECLARE v_myvar NUMBER; BEGIN v_myvar := 1 + 2 * 3; v_myvar := v_myvar * 2; END; Mark for Review (1) Points 81 49 14 (*) 18
Correct
2. False 3. True 4. 0 Which of the above can be assigned to a Boolean variable? Mark for Review (1) Points 2 and 3 2, 3 and 4 1, 2 and 3 (*)
1, 2, 3 and 4
Correct
Correct
28. You need to declare a variable to hold a value which has been read from the SALARY column of the EMPLOYEES table. Which of the following is an advantage of declaring the variable as: employees.salary%TYPE ? Mark for Review (1) Points It is shorter than coding NUMBER(8,2) If the SALARY column is ALTERed later, the PL/SQL code need not be chang ed. (*) It executes much faster than using NUMBER(8,2) It allows the software to perform implicit data type conversions.
Incorrect
Incorrect. Refer to Section 2. 29. If you are using the %TYPE attribute, you can avoid hard Mark for Review
Correct
Correct
30. What is the data type of the variable V_DEPT_TABLE in th e following declaration? DECLARE TYPE dept_table_type IS TABLE OF departments%ROWTYPE INDEX BY PLS_INTEGER; v_dep t_table dept_table_type; ... Mark for Review
Correct Section 2
Correct
31. Mark for Review (1) Points Scalar Composite Reference LOB (*)
Correct
Correct
Correct
33. Delimiters are _____ that have special meaning to the Or acle database. Mark for Review (1) Points identifiers
Correct
Correct
34. Which statements about lexical units are true? (Choose t wo.) Mark for Review (1) Points (Choose all correct answers) They are named objects stored in the database They are the building blocks of every PL/SQL program (*) They are optional but can make a PL/SQL block execute faster They are sequences of characters including letters, digits, tabs, return s and symbols (*)
Incorrect
35. Reserved words can be used as identifiers. True or False ? Mark for Review (1) Points True False (*)
Correct
Correct
36. When an exception occurs within a PL/SQL block, the rema ining statements in the executable section of the block are skipped. True or Fal se? Mark for Review (1) Points True (*) False
Correct
Correct 37. When nested blocks are used, which blocks can or must be Mark for Review
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
Correct 38. What will be displayed when the following code is execut
ed? DECLARE x VARCHAR2(6) := 'Chang'; BEGIN DECLARE x VARCHAR2(12) := 'Susan'; BEGIN x := x || x; END; DBMS_OUTPUT.PUT_LINE(x); END; Mark for Review (1) Points Susan Chang (*) ChangChang SusanChang The code will fail with an error
Incorrect
39. An exception occurs within the inner block of two nested blocks. The inner block does not have an EXCEPTION section. What always happens ? Mark for Review (1) Points Both blocks fail and an error message is displayed by the calling enviro nment The exception is propagated to the outer block (*) Oracle automatically tries to re-execute the inner block The user's database session is automatically disconnected
Incorrect. Refer to Section 2. What will be displayed when the following code is execut
DECLARE varA NUMBER := 12; BEGIN DECLARE varB NUMBER := 8; BEGIN varA := varA + varB; END; DBMS_OUTPUT.PUT_LINE(varB); END; Mark for Review (1) Points 8 12 Nothing, the block will fail with an error (*) 20 VarB
SELECT last_name INTO v_last_name FROM employees WHERE employee_id=100; What is the value of SQL%ISOPEN immediately after the SELECT statement is execut ed? Mark for Review (1) Points True False (*) Null Error. That attribute does not apply for implicit cursors.
Incorrect
42. There are no employees in Department 77. What will happe n when the following block is executed? BEGIN DELETE FROM employees WHERE department_id=77; DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT) END; Mark for Review (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 state ment.
Correct
Correct
Correct
Correct
44. Which one of these SQL statements can be directly includ ed in a PL/SQL executable block? Mark for Review (1) Points DELETE FROM employees WHERE department_id=60; (*) SELECT salary FROM employees WHERE department_id=60;
Incorrect
45. Which rows will be deleted from the EMPLOYEES table when the following code is executed?
DECLARE salary employees.salary%TYPE := 12000; BEGIN DELETE FROM employees WHERE salary > salary; END; Mark for Review (1) Points All rows whose SALARY column value is greater than 12000. All rows in the table. No rows. (*) All rows whose SALARY column value is equal to 12000.
Incorrect
46. Which one of these SQL statements can be directly includ ed in a PL/SQL executable block? Mark for Review (1) Points SELECT last_name FROM employees WHERE employee_id=100;
DESCRIBE employees;
Incorrect 47.
Which of the following is a correct use of the INTO clause? Mark for Review (1) Points SELECT * 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
DECLARE v_salary employees.salary%TYPE; BEGIN Which of the following is a correct use of the INTO clause? Mark for Review (1) Points SELECT salary INTO v_salary FROM employees WHERE employee_id=100; (*) SELECT v_salary INTO salary FROM employees WHERE employee_id=100;
Correct
Correct 49. How many DML statements can be included in a single tran Mark for Review
None. A transaction cannot include DML statements. A maximum of four DML statements As many as needed (*)
Correct
BEGIN INSERT INTO countries (id, name) VALUES ('XA', 'Xanadu'); INSERT INTO countries (id, name) VALUES ('NV','Neverland'); COMMIT; COMMIT; ROLLBACK; END; What happens when the block of code finishes? Mark for Review (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.
Incorrect