Solved

SQL Data Migration - Duplicate Keys found

Posted on 2012-03-22
3
545 Views
Last Modified: 2012-06-21
I have a massive issue I could use help with, one that deserves more than 500 points I am allowed to award.

I have an Oracle Table in a 9i database that houses my company's Serial Number Data (8million records + with 3,000 per day being added). The Serial Number field in this table is the primary key. My company is migrating from an Oracle Database to a SQL Database. I have recreated the table in SQL successfully. When I do a test export than import into SQL, I get a "Duplicate Key" Error and the load fails.

From what I understand, Oracle database distingushes from uppper and lower case characters. The SQL server does not. So what I think is happening is that I might have the following example in my Oracle DB:

Serial_Number
a123
A123

ORacle considers them different and when I import them into SQL, SQL consider's it duplicate. Serial Numbrs in my system are not supposed to be duplicate. They are user entry problems. I need to be able to find these duplicates some how and fix them.

Does anyone have an idea to have I can find serial numbers with lower case characters?Our system should only have upper case.

Thanks in advance.
0
Comment
Question by:mossmis
3 Comments
 
LVL 40

Accepted Solution

by:
Kyle Abrahams earned 500 total points
ID: 37754747
run this on your oracle:

select count(*), upper(serial)
from <table>
having (count(*) > 1)
group by upper(serial)


That will at least find your duplicates.  Then in your export you can uppercase everything
if you're not supposed to have lower case characters.


also you can set the coalation on your SQL DB so that it considers case same as oracle.
0
 
LVL 8

Expert Comment

by:gpizzuto
ID: 37754753
If you want to check them in Oracle,
try:

SELECT Serial_Number
FROM YourTable
WHERE REGEXP_LIKE(Serial_Number ,'[:lower:]');
0
 

Author Closing Comment

by:mossmis
ID: 37754807
Perfect! Short and sweet! I found 15 dups! Now time to yell at people for making mistakes!
0

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
JSON is being used more and more, besides XML, and you surely wanted to parse the data out into SQL instead of doing it in some Javascript. The below function in SQL Server can do the job for you, returning a quick table with the parsed data.
Via a live example, show how to take different types of Oracle backups using RMAN.
This video shows how to recover a database from a user managed backup

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question