View Quiz | Played In | Feature / Summary / Author | Ended On  | % Correct |
 | 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 (44298) [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 |