Friday, May 23, 2008

SQL PL/SQL Interview Questions 3

11: What are the Large object types suported by Oracle?
A: Blob and Clob.

12: Difference between a "where" clause and a "having" clause.
A: Having clause is used only with group functions whereas Where is not
used with.

13: What's the difference between a primary key and a unique key?
A: Both primary key and unique enforce uniqueness of the column on which
they are defined. But by default primary key creates a clustered index on the
column, where are unique creates a nonclustered index by default. Another major
difference is that, primary key doesn't allow NULLs, but unique key allows one
NULL only.

14: What are cursors? Explain different types of cursors. What are the
disadvantages of cursors? How can you avoid cursors?
A: Cursors allow row-by-row prcessing of the resultsets.
Types of cursors: Static, Dynamic, Forward-only, Keyset-driven. See books
online for more information.
Disadvantages of cursors: Each time you fetch a row from the cursor, it results
in a network roundtrip, where as a normal SELECT query makes only one
rowundtrip, however large the resultset is. Cursors are also costly because
they require more resources and temporary storage (results in more IO
operations). Furthere, there are restrictions on the SELECT statements that can
be used with some types of cursors.
Most of the times, set based operations can be used instead of cursors.

15: What are triggers? How to invoke a trigger on demand?
A: Triggers are special kind of stored procedures that get executed
automatically when an INSERT, UPDATE or DELETE operation takes place on a
table.
Triggers can't be invoked on demand. They get triggered only when an associated
action (INSERT, UPDATE, DELETE) happens on the table on which they are defined.
Triggers are generally used to implement business rules, auditing. Triggers can
also be used to extend the referential integrity checks, but wherever possible,
use constraints for this purpose, instead of triggers, as constraints are much
faster.

No comments:

Useful Information