In PL/SQL I have created a table with random numbers generated from the DBMS_RANDOM routine. Now I need to sort the rows and place them into another table, so that when the user extracts 'X' amount of records, they will get a true random sampling, and not just the ones at the top of the feed chain. What is the best way to sort, as I am putting records into another table?
I think best way to do it is to add a sequencing column S to the original table that will number the random numbers from 1 to N rows. When inserting to the new table, use X select statement that "chooses" random numbers between 1 AND N. Do X times:
INSERT INTO NEW_table ...... SELECT .... from OLD_TABLES WHERE S = random_nbr (from 1 to N)
For More Information
- Dozens more answers to tough Oracle questions from Eli Leiba are available here.
- The Best Oracle Web Links: tips, tutorials, scripts, and more.
- Have an Oracle or SQL tip to offer your fellow DBAs and developers? The best tips submitted will receive a cool prize. Submit your tip today!
- Ask your technical Oracle and SQL questions -- or help out your peers by answering them -- in our live discussion forums.
- Ask the Experts yourself: Our SQL, database design, Oracle, SQL Server, DB2, metadata, object-oriented and data warehousing gurus are waiting to answer your toughest questions.
Dig Deeper on Oracle and SQL
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.