Take
Quiz
View
Results
Ended
OnDescending
Feature / Summary / AuthorPlayed InCommentaryScore
2019-12-13 FridayDatabase Design: Check Constraints

DDL statements can be blocking or non-blocking. When you run a blocking statement, the database will raise an ORA-54 if there is any uncommitted DML on that table in other sessions. For non-blocking DDL, the database will wait until the other sessions commit.

By default, adding a constraint is a blocking operation. To make it non-blocking, define the constraint as ENABLE NOVALIDATE.

Author: Chris Saxon [39866-6668464]
Dynamite DB DesignNo New Comments

Last: 2019-12-11 14:56:20
-
2019-12-13 FridayOracle PL/SQL: Dynamic Polymorphism

Dynamic polymorphism occurs when the PL/SQL engine at runtime determines which method in the type hierarchy should be called. It is similar to overloading (static polymorphism), but in this case it makes the choice between over-ridings of methods, so the signature is exactly the same.

Author: Steven Feuerstein [40267-6658719]
PL/SQL ChallengeNo Comments
Last: No Comments
-
2019-12-13 FridayLogic: Deductive Logic

Key to solving deductive logic puzzles is coming up with a strategy for identifying and discarding possibilities in a systematic fashion.

Author: Eli Feuerstein [40247-6648883]
I Love LogicNo Comments
Last: No Comments
-
2019-12-13 FridayJava: Object Reference

Learn what happens when using Object reference with immutable and mutable Objects and how their values are changed.

Author: Rafael Chinelato Del Nero [40287-6687938]
Jump Into JavaNo New Comments
Objections: SUBMITTED
Last: 2019-12-07 16:01:05
-
2019-12-13 FridaySQL: FLOOR

When dealing with many equal-sized numeric intervals, sometimes it can be easier to divide by the interval size and use FLOOR to get an integer representation of the interval.

Author: Kim Berg Hansen [40269-6658730]
Select from SQLNo Comments
Last: No Comments
-
2019-12-06 FridayLogic: Deductive Logic

Key to solving deductive logic puzzles is coming up with a strategy for identifying and discarding possibilities in a systematic fashion.

Author: Eli Feuerstein [40187-6570718]
I Love LogicNo Comments
Last: No Comments
-
2019-12-06 FridaySQL: Comparing Object Type Instances

If you do not define a MAP or ORDER method in an object type, the only kinds of comparisons that will work are for equality in SQL statements, and then only if the object type has no LOB or ANYDATA attributes.

Author: Steven Feuerstein [39786-6541950]
Select from SQLNo Comments
Last: No Comments
-
2019-12-06 FridayOracle PL/SQL: Session-Specific Dependencies in Result-Cached Functions

Before you decide to add RESULT_CACHE to a function's header, look inside and make sure there are no session-specific dependencies that aren't made visible in the parameter list. If they are "hidden", then you may end up with the wrong results.

Author: Steven Feuerstein [40208-6590103]
PL/SQL ChallengeNo Comments
Last: No Comments
-
2019-12-06 FridayDatabase Design: Unique Constraints

When you add a unique constraint, the database checks the existing indexes on the table. If there's either an existing:

  • Non-unique index which includes all the constraint's columns at the start OR
  • Unique index with exactly the same columns as the constraint

the database will use that index to police the constraint. Even if these columns appear in a different order in the index and constraint.

Author: Chris Saxon [39706-6599752]
Dynamite DB DesignNo New Comments
Objections: SUBMITTED
Last: 2019-12-12 17:13:26
-
2019-12-06 FridayJava: Polymorphism

Learn what happens when using Polymorphism with static methods and attributes that have the same name in the parent and child classes.

Author: Rafael Chinelato Del Nero [40227-6619183]
Jump Into JavaNo Comments
Last: No Comments
-
2019-11-29 FridayDatabase Design: Partitioning

To exchange a table with a partition, the two tables must have identical structures. To simplify creation of the non-partitioned table, Oracle Database 12.2 added the FOR EXCHANGE clause to CREATE TABLE.

The syntax for this is:

create table <table_name>
  for exchange 
  with table <partitioned_table_name>;
Author: Chris Saxon [39626-6474498]
Dynamite DB DesignNo Comments
Last: No Comments
-
2019-11-29 FridayOracle PL/SQL: Iterating Through Collection Contents

If a collection is sparse, it's better to iterate through it using FIRST/NEXT than a FOR loop going from FIRST to LAST.

Author: Kim Berg Hansen [40127-6512921]
PL/SQL ChallengeNo Comments
Last: No Comments
-
2019-11-29 FridayJava: Streams

Learn what happens when using the limit method in different orders and understand what happens into a Stream pipeline.

Author: Rafael Chinelato Del Nero [40167-6551475]
Jump Into JavaNo Comments
Last: No Comments
-
2019-11-29 FridaySQL: JSON_ARRAY

JSON_ARRAY can be used to create a properly escaped string for a comma-separated line for a CSV file.

Author: Kim Berg Hansen [40147-6513006]
Select from SQLNo Comments
Last: No Comments
-
2019-11-29 FridayLogic: Deductive Logic

Key to solving deductive logic puzzles is coming up with a strategy for identifying and discarding possibilities in a systematic fashion.

Author: Eli Feuerstein [40107-6541892]
I Love LogicNo Comments
Last: No Comments
-
2019-11-22 FridayLogic: Deductive Logic

Key to solving deductive logic puzzles is coming up with a strategy for identifying and discarding possibilities in a systematic fashion.

Author: Eli Feuerstein [40066-6455646]
I Love LogicNo Comments
Last: No Comments
-
2019-11-22 FridayJava: Streams

Learn what happens when the allMatch and the reduce methods of a Stream are invoked. Also, learn more about Predicate and method references.

Author: Rafael Chinelato Del Nero [40106-6484112]
Jump Into JavaNo New Comments

Last: 2019-11-16 13:50:03
-
2019-11-22 FridayOracle PL/SQL: Assignments of Cursor Variables

Once I assign a cursor variable to another, I can use them indistinguishably. They both "point" to the same result set, and will fetch from after the last fetched row, regardless of which cursor variable was used to do the fetch.

Author: Steven Feuerstein [40067-6465090]
PL/SQL ChallengeNo Comments
Last: No Comments
-
2019-11-22 FridaySQL: AVG

Most aggregate functions ignore NULL values, so if for example you want an AVG to consider all rows instead of just those with values, you either need to convert NULLs to zeroes or implement your own AVG using SUM and COUNT.

Author: Kim Berg Hansen [40086-6465094]
Select from SQLNo Comments
Last: No Comments
-
2019-11-22 FridayDatabase Design: Database constraints

You can add a constraint to a table with ALTER TABLE, like so:

alter table <tablename> 
  add constraint <cons_definition>

You can also define many constraints in a single statement, like so:

alter table <tablename> add ( 
  <cons_definition_1>, 
  <cons_definition_2>, ... 
)
Author: Chris Saxon [39526-6474496]
Dynamite DB DesignNo Comments
Last: No Comments
-
2019-11-15 FridayJava: Lambda

Learn what happens when different types of functional interfaces are used together and how to take advantage of the paradigm.

Author: Rafael Chinelato Del Nero [40046-6408842]
Jump Into JavaNo New Comments
Objections: SUBMITTED
Last: 2019-11-15 15:26:18
-
2019-11-15 FridayLogic: Deductive Logic

Key to solving deductive logic puzzles is coming up with a strategy for identifying and discarding possibilities in a systematic fashion.

Author: Eli Feuerstein [39986-6380482]
I Love LogicNo Comments
Last: No Comments
-
2019-11-15 FridayOracle PL/SQL: Retrieving Session Information with SYS_CONTEXT

SQL statements and anonymous PL/SQL blocks are always run with invoker's rights (AUTHID CURRENT_USER), which means that all currently-enabled roles are used to resolve references to identifiers. PL/SQL program units that are complied with definer's rights (AUTHID DEFINER, the default) can only use privileges granted directly to the schema. Roles are not used.

Author: Steven Feuerstein [40026-6399341]
PL/SQL ChallengeNo Comments
Last: No Comments
-
2019-11-15 FridaySQL: Miscellaneous concepts

You cannot do aggregates on the results of analytic functions or even use analytic functions in a where clause. You need to do an inline view to perform analytic functions first, then aggregate in the outer query.

Author: Kim Berg Hansen [40027-6399367]
Select from SQLNo Comments
Last: No Comments
-
2019-11-15 FridayDatabase Design: Storage Parameters

When you add data to a table, the database allocates storage for it. This space remains allocated when you delete rows.

You can deallocate space above the high water mark with:

alter table <tablename> 
  deallocate unused

Truncate removes all the rows and by default deallocates all storage except the first extent. To remove all allocated space, use:

truncate table <tablename> 
  drop all storage
Author: Chris Saxon [39466-6408661]
Dynamite DB DesignNo Comments
Last: No Comments
-
2019-11-08 FridaySQL: MULTISET

Functions MULTISET and COLLECT both can create collections, but MULTISET accepts a SELECT as parameter, while COLLECT is an aggregate function. Both can be useful in different situations.

Author: Kim Berg Hansen [39569-6080243]
Select from SQLNo Comments
Last: No Comments
-
2019-11-08 FridayOracle PL/SQL: Error Management

When you run an anonymous block, the PL/SQL engine will first of all parse and compile the block. If all goes well, then the PL/SQL runtime engine will execute the compiled code. If, however, your code fails to compile, well....you will get a compile error, rather than an runtime exception.

Author: Steven Feuerstein [39886-6278299]
PL/SQL ChallengeNo New Comments
Objections: SUBMITTED
Last: 2019-11-12 11:42:22
-
2019-11-08 FridayJava: Lambda

Match the correspondent lambda and method reference to each functional interface and learn how to define your functions to perform the action you need. 

Author: Rafael Chinelato Del Nero [39966-6366656]
Jump Into JavaNo New Comments
Objections: SUBMITTED
Last: 2019-11-12 14:26:27
-
2019-11-08 FridayDatabase Design: JSON

You can check if a JSON document contains a given attribute with JSON_value or JSON_exists

JSON_value

This searches the specified path, returning the corresponding value. If no matching value is found, this returns null by default. You can change this behaviour with the ON EMPTY clause.

JSON_exists

This searches the specified path, returning true if the value exists and false if it doesn't.

Author: Chris Saxon [39346-6352128]
Dynamite DB DesignNo Comments
Last: No Comments
-
2019-11-08 FridayLogic: Deductive Logic

Key to solving deductive logic puzzles is coming up with a strategy for identifying and discarding possibilities in a systematic fashion.

Author: Eli Feuerstein [39926-6324362]
I Love LogicNo New Comments

Last: 2019-11-11 13:33:27
-
2019-11-01 FridaySQL: Expression Lists

Expression lists in either IN or equality conditions can sometimes be more clear and understandable than using simple equality conditions with a lot of AND and OR and parentheses.

Author: Kim Berg Hansen [39586-6080242]
Select from SQLNo Comments
Last: No Comments
-
2019-11-01 FridayLogic: Deductive Logic

Key to solving deductive logic puzzles is coming up with a strategy for identifying and discarding possibilities in a systematic fashion.

Author: Eli Feuerstein [39846-6260063]
I Love LogicNo Comments
Last: No Comments
-
2019-11-01 FridayJava: Lambda

Absorb the powerful concepts of functional programming with lambdas by solving this Java quiz!

Author: Rafael Chinelato Del Nero [39906-6305906]
Jump Into JavaNo Comments
Last: No Comments
-
2019-11-01 FridayDatabase Design: Check Constraints

You can validate the case of letters using the functions UPPER and LOWER or regular expressions.

Author: Chris Saxon [39166-6279704]
Dynamite DB DesignNo Comments
Last: No Comments
-
2019-11-01 FridayOracle PL/SQL: Comparing Object Type Instances

If you want to perform object type instance comparison in PL/SQL, you need to create a MAP or ORDER method for the type.

Author: Steven Feuerstein [39806-6214451]
PL/SQL ChallengeNo Comments
Last: No Comments
-
2019-10-25 FridayLogic: Deductive Logic

Key to solving deductive logic puzzles is coming up with a strategy for identifying and discarding possibilities in a systematic fashion.

Author: Eli Feuerstein [39766-6196375]
I Love LogicNo Comments
Last: No Comments
-
2019-10-25 FridayDatabase Design: JSON Indexes

You can search JSON documents using dot-notation to list the path to the attribute. This can use an index with any of the following expressions:

  • The dot-notation path to the attribute
  • JSON_value searching the same path with the RETURNING and ERROR ON ERROR clauses
  • JSON_query matching how the database rewrites the dot-notation expression
Author: Chris Saxon [39046-6160229]
Dynamite DB DesignNo New Comments

Last: 2019-10-27 09:57:45
-
2019-10-25 FridayJava: Lambda

You will learn in details about how functional interfaces work with Java. 

Author: Rafael Chinelato Del Nero [39826-6241800]
Jump Into JavaNo New Comments
Objections: SUBMITTED
Last: 2019-11-12 11:40:46
-
2019-10-25 FridaySQL: GROUPING_ID

Function GROUPING_ID is a bitmap that gives you the result of multiple calls to the GROUPING function in a single call.

Author: Kim Berg Hansen [39568-6080241]
Select from SQLNo Comments
Last: No Comments
-
2019-10-25 FridayOracle PL/SQL: Packages

tbc

Author: Steven Feuerstein [39726-6169403]
PL/SQL ChallengeNo Comments
Last: No Comments
-
2019-10-18 FridayOracle PL/SQL: Querying Data with PL/SQL

If you need to get the number of rows that will be returned by a query before you fetch that data, you could BULK COLLECT into a collection and use the COUNT method. You should only do so for small datasets, however, since the collection will consume PGA memory. You can also use the COUNT-OVER analytic function, but this could cause excessive CPU consumption if you are calling the query from a user interface that allows the user to page through chunks of the dataset.

Author: Steven Feuerstein [39687-6133518]
PL/SQL ChallengeNo Comments
Last: No Comments
-
2019-10-18 FridayLogic: Deductive Logic

Key to solving deductive logic puzzles is coming up with a strategy for identifying and discarding possibilities in a systematic fashion.

Author: Eli Feuerstein [39686-6169378]
I Love LogicNo Comments
Last: No Comments
-
2019-10-18 FridaySQL: Data Type Comparison Rules

Blank-padded comparison is only used by the database if everything to be compared is CHAR datatype or mix of CHAR and literals. Other cases you need to handle the blank-padding in CHAR columns by implementing your own blank-padded comparison.

Author: Kim Berg Hansen [39567-6080236]
Select from SQLNo Comments
Last: No Comments
-
2019-10-18 FridayDatabase Design: Unique Constraints

You can specify an existing index for a unique constraint with the USING INDEX clause.

This index must contain all the columns in the constraint. But they can be in a different order. It can have more columns than the constraint, provided:

  • It is a nonunique index
  • The constraint's columns are the index's leading columns
Author: Chris Saxon [39666-6160226]
Dynamite DB DesignNo Comments
Last: No Comments
-
2019-10-18 FridayJava: Method Reference

You will learn how to manipulate Method References when instantiating a new class and will understand better the concept of higher functions and functional programming with Java.

Author: Rafael Chinelato Del Nero [39746-6178380]
Jump Into JavaNo Comments
Last: No Comments
-
2019-10-11 FridaySQL: ADD_MONTHS

Adding YEAR TO MONTH INTERVAL to a DATE can result in invalid dates, but ADD_MONTHS has built-in rules to handle end-of-month issues.

Author: Kim Berg Hansen [39566-6080208]
Select from SQLNo Comments
Last: No Comments
-
2019-10-11 FridayDatabase Design: Database constraints

To ensure that at most one row can store the same values in a set of columns, define primary key or unique constraint on them.

To compare values in columns, define a check constraint.

Author: Chris Saxon [38746-6089187]
Dynamite DB DesignNo Comments
Last: No Comments
-
2019-10-11 FridayJava: Flow Control

You will learn how to use a switch case statement with Java 13 making use of lambdas and the reserved word yield.

Author: Rafael Chinelato Del Nero [39646-6115820]
Jump Into JavaNo Comments
Last: No Comments
-
2019-10-11 FridayLogic: Deductive Logic

Key to solving deductive logic puzzles is coming up with a strategy for identifying and discarding possibilities in a systematic fashion.

Author: Eli Feuerstein [39546-6071422]
I Love LogicNo Comments
Last: No Comments
-
2019-10-11 FridayOracle PL/SQL: SQL%ROWCOUNT

SQL%ROWCOUNT returns the numbers of rows affected by the most recently executed SQL statement in your PL/SQL context. It is not cumulative within a PL/SQL block.

Author: Steven Feuerstein [39606-6089130]
PL/SQL ChallengeNo Comments
Last: No Comments
-
  • 1 - 50