VF=>user  ID=>    Login Register
Feedback   FAQ   Blog
679,001 quizzes played * 1,633 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 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 (44292) [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
Daily PL/SQL Quiz

INSERT Statement: Inserting When Columns Have Default Values

If a column in a table has a default value, you do not have to provide an expression for that column in your INSERT statement - but only if you list explicitly the names of the columns before the VALUES clause.

Author: Steven Feuerstein [7619-448943]
2013-05-03 Friday-No Comments
Last: No Comments
Daily PL/SQL Quiz

Working with System and Client Events: Event Attribute Functions

When a trigger is fired, you can retrieve certain attributes about the event that fired the trigger with a function call. The ORA_IS_ALTER_COLUMN returns TRUE if the name of the column passed to it has been altered by the current DDL statement.

Author: Steven Feuerstein [7574-448942]
2013-05-02 Thursday-No Comments
Last: No Comments
Daily PL/SQL Quiz

FORALL: Restrictions on use of FORALL

The classic use case for FORALL is a loop that contains one or more DML statements. More generally, look for scenarios where a DML statement is executed repeatedly, only changing its bind variable values with each execution. You cannot, however, use FORALL with remote tables; with dynamic SQL whose table or column name changes with each iteration; with DDL statements.

Author: Steven Feuerstein [7572-448941]
2013-05-01 Wednesday-No Comments
Last: No Comments
Toad World Quiz

Built-in (Supplied) Packages and Types: Screen Output with DBMS_OUTPUT

Use DBMS_OUTPUT.PUT to put a "partial line" (without a newline character) in the buffer. This text will not be visible, however, until you call PUT_LINE or NEW_LINE.

Author: Steven Feuerstein [7582-449859]
2013-04-30 Tuesday-No New Comments
Objections: REJECTED
Last: 2013-04-12 00:24:43
Daily PL/SQL Quiz

DBMS_SQL.DESCRIBE_COLUMNS: Type Numbers Returned by DBMS_SQL.DESCRIBE_COLUMNS

When you use DBMS_SQL.DESCRIBE_COLUMNS (and its sister procedures, DESCRIBE_COLUMNS2 and DESCRIBE_COLUMNS3) to get information about columns, remember that the column type is an integer value and that value is the same for "N" datatypes (like NVARCHAR2) and their non-"N" variation (such as VARCHAR2).

Author: Steven Feuerstein [7618-441558]
2013-04-30 Tuesday-No New Comments

Last: 2013-04-30 18:25:56
1 - 15 Next