WELCOME, GUEST
Minimize
Blogger List

Steven Feuerstein Indicates Oracle ACE director status
PL/SQL Obsession

Guy Harrison Indicates Oracle ACE status
Database topics

Bert Scalzo Indicates Oracle ACE status
Toad for Oracle, Data Modeling, Benchmarking
Dan Hotka Indicates Oracle ACE director status
SQL Tuning & PL/SQL Tips

Valentin Baev
It's all about Toad

Ben Boise
Toad SC Discussions

Dan Clamage
SQL and PL/SQL

Kevin Dalton
Benchmark Factory

Peter Evans 
Business Intelligence, Data Integration, Cloud and Big Data

Vaclav Frolik  
Toad Data Modeler, Toad Extension for Eclipse

Devin Gallagher
Toad SC discussions

Anju Gandhi
Toad for Oracle

Stuart Hodgins
JProbe Discussions

Julie Hyman
Toad for Data Analysts

  Henrik "Mauritz" Johnson
Toad Tips & Tricks on the "other" Toads
  Mark Kurtz
Toad SC discussions
Daniel Norwood
Tips & Tricks on Toad Solutions
Amit Parikh
Toad for Oracle, Benchmark Factory,Quest Backup Reporter
Debbie Peabody
Toad Data Point
Gary Piper
Toad Reports Manager
John Pocknell
Toad Solutions
Jeff Podlasek
Toad for DB2
Kuljit Sangha
Toad SC discussions
Michael Sass 
Toad for DB2
Brad Wulf
Toad SC discussions
Richard To
SQL Optimization
  Toad Data Modeler Opens in a new window
Data Modeling
 
  Toad Higher Education
How Hi-Ed Uses Toad
  Real Automated Code Testing for Oracle
Quest Code Tester blog
  中文技术资料库
技术文章
 

Blogs

Toad World blogs are a mix of insightful how-tos from Quest experts as well as their commentary on experiences with new database technologies.  Have some views of your own to share?  Post your comments!  Note:  Comments are restricted to registered Toad World users.

Do you have a topic that you'd like discussed?  We'd love to hear from you.  Send us your idea for a blog topic.


May 11

Written by: Jeff Smith
5/11/2010  RssIcon

Today I want to talk about something that should be beneficial to any person who has ever needed to connect to an Oracle database, comparing data. By that I mean, taking two sets of data and examining them for
  • Rows that are common between
  • Rows that have common ID fields but different detail values
  • Rows that are missing from set A or Set B.
I believe it’s safe to say that anyone that works with the database has had to perform this exercise. Whether you’re performing QA after a migration or ETL project, or just simply need to compare the data between 2 different versions of a query you are working on, being able to process the massive amounts of data can be challenging.

I don’t believe it’s a coincidence that one of the most popular Toad features revolves around exporting data to an MS Excel spreadsheet. I’ve worked with many folks who do this just to get help comparing data sets. Of course, SQL gives us the MINUS set operator that allows one to identify records that are not part of one set or another.


“Not that there’s anything wrong with that.”


Toad for Oracle’s ‘Database – Compare – Compare Data’ makes a MINUS Query a bit easier to execute, your data may not be in the same database, not to mention the convenience factor of DB_LINKs!
 

I don’t believe either of these mechanisms is ideal. Eye-balling data encourages human error, and using SQL to process the data can be time-intensive, not to mention inaccessible to folks who are not adept at SQL.

I am very comfortable in saying that one of the most profound developments in the last 3 years in the Toad domain is the introduction of Toad for Data Analysts. I say this because it’s ability to compare data with mouse-click is so compelling. Additionally being able to dynamically generate INSERT|UPDATE|DELETE scripts to address these differences takes this feature to the next level.

Before I take you through the feature, let’s address who is eligible to use this feature.

Availability

Quest makes Toad for Data Analysts available to all licensed users for Toad for Oracle current on their maintenance agreements. The software is bundled with Toad for Oracle or can be downloaded separately.

Toad for Data Analysts is also available for purchase as a separate stand-alone product.

The Basics

  • Two methods for doing a compare
    1. Compare table(s) to table(s)
    • Data can come from different databases or even Excel
    • Can compare all the data or subset using WHERE filters
    • Tables do not need common names (nor their columns)
    1. Compare result-set from two SQL queries
    • The data is processed client-side
    • You can compare data across databases or even RDBMS platforms

Comparing Data from Different SQL Statement Executions

From any data grid in the Editor or Query Builder, a user can simply mouse-right-click and say ‘Compare To’.

Assuming there is a common ID or UNIQUE field between the two sets, Toad can show said differences side by side.

Clicking in a row in one set will result in Toad attempting to find the corresponding row in the other set. Missing rows are shown as empty in the opposing set. Cells with different values are highlighted as well. The report can additionally be printed.

  
Extremely helpful for evaluating result sets as you experiment with your query, such as different JOIN conditions.
 
Comparing Data between Tables

If you need to compare data between two different sources, Toad for Data Analysts provides an extremely straightforward wizard to accomplish your task.


Step 1: Tell us where the data is
 

Step 2: Confirm keys and columns to be compared. Optionally supply a WHERE filtering clause for either data set.

  
Step N: View differences, select rows to be Synched (yes I skipped a few screens!)
 

Two Parting Tricks

  1. Use ‘File – Save’ to store your compare wizard session. You can then use ‘File – Open’ to ‘refresh’ your compare going forward. This will save you a TON of time.
  2. You can actually compare as many pairs of tables as you want. For example you could compare 10 Access tables to 10 Oracle tables in a single swoop.

Search Blog Entries
 
Blog Archives
 
Archive
<May 2013>
SunMonTueWedThuFriSat
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
Monthly
May, 2013 (15)
April, 2013 (13)
March, 2013 (10)
February, 2013 (5)
January, 2013 (7)
December, 2012 (6)
November, 2012 (10)
October, 2012 (8)
September, 2012 (6)
August, 2012 (8)
July, 2012 (8)
June, 2012 (12)
May, 2012 (21)
April, 2012 (10)
March, 2012 (16)
February, 2012 (19)
January, 2012 (20)
December, 2011 (19)
November, 2011 (14)
October, 2011 (12)
September, 2011 (17)
August, 2011 (15)
July, 2011 (16)
June, 2011 (13)
May, 2011 (15)
April, 2011 (8)
March, 2011 (21)
February, 2011 (17)
January, 2011 (16)
December, 2010 (13)
November, 2010 (13)
October, 2010 (7)
September, 2010 (15)
August, 2010 (11)
July, 2010 (13)
June, 2010 (12)
May, 2010 (14)
April, 2010 (12)
March, 2010 (13)
February, 2010 (12)
January, 2010 (7)
December, 2009 (10)
November, 2009 (12)
October, 2009 (15)
September, 2009 (18)
August, 2009 (13)
July, 2009 (23)
June, 2009 (14)
May, 2009 (17)
April, 2009 (7)
March, 2009 (14)
February, 2009 (7)
January, 2009 (12)
December, 2008 (7)
November, 2008 (11)
October, 2008 (19)
September, 2008 (14)
August, 2008 (11)
July, 2008 (14)
June, 2008 (19)
May, 2008 (12)
April, 2008 (18)
March, 2008 (13)
February, 2008 (8)
January, 2008 (7)
December, 2007 (5)
November, 2007 (8)
October, 2007 (13)
September, 2007 (13)
August, 2007 (16)
July, 2007 (11)
June, 2007 (6)
May, 2007 (5)
April, 2007 (5)
March, 2007 (8)
February, 2007 (6)
January, 2007 (6)
December, 2006 (5)
November, 2006 (8)
October, 2006 (4)
August, 2006 (3)