Posts

Showing posts from December, 2007

Thanks to tom - A Challenge

The source for this article can be found in this link: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:516338600346572071   Although this challenge was posted in past, I thought to revive its magic. It was posted by Tom Kyte on Oct 31, 2007 4:52 AM. Without Tom or even AskTom I don’t think Oracle geeks would have some good repository of technical advantage. Here in this article I will rephrase and revive the magic of a small challenge for Oracle geeks. Find out from the following list of versions and features, when they where introduced in Oracle.   Of course you could read the link above and find the same. But try this as an exercise, and you will be surprised (for most of geeks they will find new features, for others they will battle with their memories).   Okay enough for the occasion, here is the features list:   1 Real Application Testing 2 Read only Replication 3 Distributed Query 4 Drop column 5 Client-Server (wh...

Q-quote operator introduced in Oracle 10g

----------------------------------------------------------------------- -- Document: Q-quoting mechanism -- Created On: 17-Dec-07 -- Author: Amar Kumar Padhi -- Email: amar.padhi@gmail.com -- Purpose: Q-quote operator introduced in Oracle 10g. -----------------------------------------------------------------------   We make use of single quotation mark in SQL and PL/SQL to identify sting literals. If the literal itself contains a single quote, we need to add one more quote next to it. This additional quote acts as an escape character and removes conflict with the outside quotes that are enclosing the string.   Oracle realises that long complex strings having lot of single quotes can turn out to become cumbersome and prone to errors that may not be caught during testing.   Release 10g onwards, a new quoting mechanism is provided in the form of "q". This new quote operator allows us to choose our own quotation mark delimiter.   H...

Getting started with Oracle Advanced Queuing - Hands on example

In this article we will see how to create queues and to enqueue and dequeue messages. In this article I will not discuss what Advanced Queuing is about and why it is used. This is just a step-by-step guide to generate a message and to read it. The agenda of this article is:   Create a queue table Create a queue Start the queue Enqueue the message Dequeue the message   Create a queue table --Type to hold the item object create or replace type aqt_item as object (item_id number , item_description number ) ; --Type to hold order object create or replace type aqt_order as object (order_id number , ord_name varchar2 ( 60 )) ; exec DBMS_AQADM.CREATE_QUEUE_TABLE (queue_table => 'aqt_queue_table', queue_payload_type => 'aqt_order');   Now we will see what are the objects created.   SELECT queue_table ,type,object _type,recipients FROM USER_QUEUE_TABLES;   QUEUE_TABLE   ...