You are on page 1of 5

For more on SQL & PL/SQLht t p: // sql - pl sql . bl ogspot .

c om / For more on SQL & PL/SQLht t p: // sql - pl sql . bl ogspot . c om / What special operators does Oracle provide for dealing with NULLs?

NVL - Converts a NULL to another specified value, as in:

my_var := NVL (your_var, 'Hello');

IS NULL and IS NOT NULL

You can use this syntax to check specifically to see if a variable's value is NULL or NOT NULL. Explain three different rules that apply to NULLs when doing comparisons? 1. For all operators except for concatenation (||), if a value in an expression is a NULL, that

expression evaluates to NULL

2. NULL is never equal or not equal to another value 3. NULL is never TRUE or FALSE What command would you use to encrypt a PL/SQL application? WRAP Explain the difference between a FUNCTION, PROCEDURE and PACKAGE. A function has a return type in its specification and must return a value specified in that type. A procedure does not have a return type in its specification and should not return any value, but it can have a return statement that simply stops its execution and returns to the caller. What steps are included in the compilation process of a PL/SQL block? The compilation process includes syntax checking, binding, and p-code generation. Syntax checking involves checking PL/SQL code for compilation errors. After syntax errors have been corrected, a storage address is assigned to the variables that are used to hold data for Oracle. This process is called binding. Next, p-code is generated for the PL/SQL block. P-code is a list of instructions to the PL/SQL engine. For named blocks, p-code is stored in the database, and it is used the next time the program is executed. How does a syntax error differ from a runtime error? A syntax error can be detected by the PL/SQL compiler. A runtime error occurs while the program is running and cannot be detected by the PL/SQL compiler. A misspelled keyword is an example of a syntax error. For example, this script:

BEIN DBMS_OUTPUT.PUT_LINE ('This is a test'); END; contains a syntax error. Try to find it. A SELECT INTO statement returning no rows is an example of a runtime error. This error can be handled with the help of the exception-handling section of the PL/SQL block.

For more on SQL & PL/SQLht t p: // sql - pl sql . bl ogspot . c om / For more on SQL & PL/SQLht t p: // sql - pl sql . bl ogspot . c om / Define Commit, Rollback and Savepoint. When a COMMIT statement is issued to the database, the transaction has ended, and the following results are true:

. All work done by the transaction becomes permanent.

. Other users can see changes in data made by the transaction.

. Any locks acquired by the transaction are released.

When a ROLLBACK statement is issued to the database, the transaction has ended, and the following results are true:

. All work done by the transaction is undone, as if it hadnt been issued.

. Any locks acquired by the transaction are released. The ROLLBACK statement undoes all the work done by the user in a specific transaction. With the SAVEPOINT command, however, only part of the transaction can be undone. Explain Implicit and Explicit cursors Oracle automatically declares an implicit cursor every time a SQL statement is executed. The user is unaware of this and cannot control or process the information in an implicit cursor. The program defines an explicit cursor for any query that returns more than one row of data. This means that the programmer has declared the cursor within the PL/SQL code block. This declaration allows the application to sequentially process each row of data as the cursor returns it. How an Implicit cursor works? 1. Any given PL/SQL block issues an implicit cursor whenever a SQL statement is executed, as long as an explicit cursor does not exist for that SQL statement. 2. A cursor is automatically associated with every DML (data manipulation) statement (UPDATE, DELETE, INSERT).

3. All UPDATE and DELETE statements have cursors that identify the set of rows that will be affected by the operation. 4. An INSERT statement needs a place to receive the data that is to be inserted into the database; the implicit cursor fulfills this need. 5. The most recently opened cursor is called the SQL cursor. How an Explicit cursor works?

The process of working with an explicit cursor consists of the following steps:

1. Declaring the cursor. This initializes the cursor into memory.

2. Opening the cursor. The declared cursor is opened, and memory is allotted.

For more on SQL & PL/SQLht t p: // sql - pl sql . bl ogspot . c om / For more on SQL & PL/SQLht t p: // sql - pl sql . bl ogspot . c om / 3. Fetching the cursor. The declared and opened cursor can now retrieve data. 4. Closing the cursor. The declared, opened, and fetched cursor must be closed to release the memory allocation. What are Explicit Cursor attributes %NOTFOUND cursor_name%NOTFOUND A Boolean attribute that returns TRUE if the previous FETCH did not return a row and FALSE if it did. %FOUND cursor_name%FOUND A Boolean attribute that returns TRUE if the previous FETCH returned a row and FALSE if it did not.

%ROWCOUNT cursor_name%ROWCOUNTThe number of records fetched from a cursor at that point in time. %ISOPEN cursor_name%ISOPEN A Boolean attribute that returns TRUE if the cursor is open and FALSE if it is not. Answer any three PL/SQL Exceptions? Too_many_rows, No_Data_Found, Value_Error, Zero_Error, Others What are PL/SQL Cursor Exceptions? Cursor_Already_Open, Invalid_Cursor What is the maximum number of triggers, can apply to a single table? 12 triggers. What is a mutating table error and how can you get around it? This happens with triggers. It occurs because the trigger is trying to update a row it is currently using. The usual fix involves either use of views or temporary tables so the database is selecting from one while updating the other. What packages (if any) has Oracle provided for use by developers? Oracle provides the DBMS_ series of packages. There are many which developers should be aware of such as DBMS_SQL, DBMS_PIPE, DBMS_TRANSACTION, DBMS_LOCK, DBMS_ALERT, DBMS_OUTPUT, DBMS_JOB, DBMS_UTILITY, DBMS_DDL, UTL_FILE. If they can mention a few of these and describe how they used them, even better. If they include the SQL routines provided by Oracle, great, but not really what was asked. Describe the use of PL/SQL tables PL/SQL tables are scalar arrays that can be referenced by a binary integer. They can be used to

You might also like