VF=>user  ID=>    Login Register
Feedback   FAQ   Blog
681,618 quizzes played * 1,616 active players * US$57,334 in prizes awarded

The PL/SQL Challenge offers an ever-growing library of information to help you become more expert in the Oracle technology stack. The Quizzes tab gives you access to all quizzes taken in the past. The Resources tab offers searchable access to many topics in Oracle documentation, to popular Ask Tom threads, and to fascinating blog posts from around the world. Utilities gives you quick access to SQL and PL/SQL utilities, i.e., reusable code.


All of the quizzes already taken by players are available on this page. You can search for a specific string in the topic for that question; filter for a particular type of quiz (you might, for example, want to check out the quizzes given in the last playoff); check out all the advanced quizzes, etc.



View
Quiz
Played In
Feature / Summary / Author
Ended
OnDescending
%
Correct
Commentary
Daily PL/SQL Quiz

Data Dictionary Views for PL/SQL Developers: ALL_ARGUMENTS

The ALL_ARGUMENTS view contains information about all the parameters of packaged subprograms and schema level program units defined in your schema. You can use it to perform quality assurance checks on those parameters, checking to see, for example, if troublesome datatypes like CHAR or LONG have been used.

Author: Steven Feuerstein [1447-448958]
2013-05-24 Friday-No New Comments

Last: 2013-05-25 11:14:19
Daily PL/SQL Quiz

Handling Exceptions: Continue past exceptions

If you need to continue past errors from DML operations, you can define a nested block to narrow propagation of the exception, or SAVE EXCEPTIONS with FORALL, or LOG ERRORS (after you've created an error logging table). Each approach has different strengths and weaknesses.

Author: Steven Feuerstein [7719-448957]
2013-05-23 Thursday-No New Comments

Last: 2013-05-24 08:46:12
Daily PL/SQL Quiz

Oracle PL/SQL: Dynamic SQL

Use dynamic SQL to avoid hard-coding in your application and craft more generic, reusable programs.

Author: Steven Feuerstein [7715-448956]
2013-05-22 Wednesday-No New Comments
Objections: SUBMITTED
Last: 2013-05-24 00:17:02
Daily PL/SQL Quiz

DBMS_SCHEDULER: EVALUATE_CALENDAR_STRING

With DBMS_SCHEDULER you can use the rich calendaring syntax of the database job scheduler even if you do not create a job schedule.

Author: Kim Berg Hansen (18475) [7591-448955]
2013-05-21 Tuesday-No New Comments

Last: 2013-05-22 17:13:05
Daily PL/SQL Quiz

Datetime and Interval Data Types : Datetime/Interval Arithmetic

Whenever possible, rely on straightforward date arithmetic to manipulate your dates and timestamps.

Author: Steven Feuerstein [7716-448954]
2013-05-20 Monday-No New Comments
Objections: REJECTED
Last: 2013-05-20 18:18:27
Daily PL/SQL Quiz

Data Type Conversion: Implicit Conversion

At run time, PL/SQL converts between different data types implicitly (automatically) if necessary. For example, if you assign a PLS_INTEGER variable to a NUMBER variable, then PL/SQL converts the PLS_INTEGER value to a NUMBER value (because the internal representations of the values differ). Oracle recommends that you avoid implicit conversion and instead either ensure that you work with variables of the same datatype (avoiding the need for any kind of conversion) or you perform explicit conversions with programs like TO_CHAR or TO_DATE.

Author: Steven Feuerstein [7712-448953]
2013-05-17 Friday-No Comments
Last: No Comments
Daily PL/SQL Quiz

AUTHID (Invoker and Definer Rights): Using Template Objects or Synonyms for IR Subprograms

When you execute an invoker rights (IR) subprogram (one defined with the AUTHID CURRENT_USER clause), Oracle will use the privileges of the invoker (both directly granted and granted through roles) to resolve references to database objects like tables and views. When a program unit is compiled, however, only directly-granted privileges can be used to resolve references. So you must either create a "template" object (same structure as the invoker's object, with or without data) or a synonym that points to an invoker's object.

Author: Steven Feuerstein [7699-448952]
2013-05-16 Thursday-No New Comments

Last: 2013-05-17 15:20:54
Daily PL/SQL Quiz

Guidelines for Optimizing Performance: Avoid execution of infinite loops

Infinite loops are the bane of a programmer's existence, and an embarrassment, too. Avoid them through careful code review, proper loop construction and, just in case, inclusion of "loop killer" code to short-cut runaway execution.

Author: Steven Feuerstein [7698-448951]
2013-05-15 Wednesday-No New Comments

Last: 2013-05-15 18:07:34
Daily PL/SQL Quiz

Declaring and Calling Subprograms: Recursive PL/SQL Subprograms

When you need to guarantee uniqueness of a string value, your algorithm should assume that it will take more than one attempt to get to a unique value. Recursion will often offer an elegant solution in these situations.

Author: Steven Feuerstein [7697-448950]
2013-05-14 Tuesday-No New Comments

Last: 2013-05-14 20:33:27
Daily PL/SQL Quiz

Character Functions Returning Number Values: ASCII

Whenever you need to associate numeric values with letters, consider using the ASCII and/or CHR functions (if appropriate, given your character set). And, more generally, when seeking to implement subprograms for your application, avoid creating unnecessary structures and code. Utilize fully what is provided to you in the base language(s).

Author: Steven Feuerstein [7696-448949]
2013-05-13 Monday-No New Comments
Objections: REJECTED
Last: 2013-05-15 13:41:33
Daily PL/SQL Quiz

Oracle PL/SQL: Write No Unnecessary Code

Program units that contain unnecessary code (code that can be removed without changing the behavior of that program) are units inviting maintenance problems. You should always be careful to remove any code that is not needed. Use the compile-time warning to help you identify at least some of these occurrences.

Author: Steven Feuerstein [7694-448948]
2013-05-10 Friday-No New Comments
Objections: REJECTED
Last: 2013-05-15 12:11:05
Daily PL/SQL Quiz

Edition Based Redefinition: Instantiation of Editioned and Non-editioned Packages

The behavior of editioned and non-editioned packages differ when a session switches its current edition during its life: while a non-editioned package is instantiated once per session, as usual, an editioned package will be instantiated separately under each current edition under which it is accessed, that is, it will have a separate package state maintained for each edition.

Author: mentzel.iudith (44500) [7555-448947]
2013-05-09 Thursday-No Comments
Last: No Comments
Daily PL/SQL Quiz

Bulk Processing with FORALL and BULK COLLECT: BULK COLLECT - Multiple Row Selects

Avoid row-by-row querying whenever possible. Cursor FOR loops are automatically optimized to retrieve up to 100 rows with each fetch, and if that is not suitable, use BULK COLLECT. Finally, remember that if you are working with nested tables or varrays, you can fetch data from them by using the TABLE operator.

Author: Steven Feuerstein [7586-448946]
2013-05-08 Wednesday-No New Comments

Last: 2013-05-10 16:37:57
Daily PL/SQL Quiz

SUBSTR: Negative Start Location in SUBSTR

Whenever you need to get a sub-string from the right side of a string, use a negative starting location. That's much easier than writing your own algorithm!

Author: Steven Feuerstein [7580-448945]
2013-05-07 Tuesday-No New Comments
Objections: ACCEPTED
Last: 2013-05-10 19:44:04
Daily PL/SQL Quiz

Numeric Data Types : NUMBER and its Subtypes

If you ever need to shift from displaying or working with integers, to working with numbers (having one or more significant digits to the right of the decimal point), make sure you find and change all elements of code that could explicitly or implicitly convert the number to an integer.

Author: Steven Feuerstein [7576-448944]
2013-05-06 Monday-No Comments
Last: No Comments
1 - 15 Next