<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-18167814</id><updated>2008-08-01T22:58:49.659+01:00</updated><title type="text">William Robertson code</title><link rel="alternate" type="text/html" href="http://www.williamrobertson.net/feed/code.html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><logo>http://www.williamrobertson.pwp.blueyonder.co.uk/gifs/websitelogo_chromestretched.jpg</logo><link rel="self" href="http://feeds.feedburner.com/WilliamRobertsonCode" type="application/atom+xml" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><entry><id>tag:blogger.com,1999:blog-18167814.post-5092166304250712038</id><published>2008-08-01T19:54:00.007+01:00</published><updated>2008-08-01T22:58:49.699+01:00</updated><title type="text">Parallel PL/SQL launcher update</title><content type="html">A while ago I wrote an experimental function to submit up to four PL/SQL commands simultaneously using Oracle's Parallel Query capabilities and a pipelined function. The results were promising but somewhat frustrating, as I could only get two...&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/wBfX4k2PkII" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/wBfX4k2PkII/parallel-plsql-launcher-update.html" title="Parallel PL/SQL launcher update" /><link rel="related" href="http://www.williamrobertson.net/code/parallel_plsql_launcher.sql" title="Parallel PL/SQL launcher update" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=5092166304250712038" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/5092166304250712038" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/5092166304250712038" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2008/08/parallel-plsql-launcher-update.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-3866028289524526280</id><published>2007-10-21T23:36:00.000+01:00</published><updated>2007-10-28T19:04:26.270Z</updated><title type="text">Parallel PL/SQL launcher</title><content type="html">This is an experimental package for submitting PL/SQL calls in parallel using the Oracle SQL Parallel Query mechanism.
Many have complained that PL/SQL has no multi-threading support, as Java (for example) does. The conventional solution is to use...&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/ZjW4XzE12UM" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/ZjW4XzE12UM/parallel-plsql-launcher.html" title="Parallel PL/SQL launcher" /><link rel="related" href="http://www.williamrobertson.net/code/parallel_plsql_launcher.sql" title="Parallel PL/SQL launcher" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=3866028289524526280" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/3866028289524526280" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/3866028289524526280" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2007/10/parallel-plsql-launcher.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-5811090682384883687</id><published>2007-04-22T21:24:00.000+01:00</published><updated>2007-09-10T07:01:45.430+01:00</updated><title type="text">Sudoku solver 10g</title><content type="html">Here is a 10g update of last year's 9i Sudoku solver. The row/column/square free values intersection code is simplified by the new MULTISET INTERSECT operator, the validation procedure now uses IS A SET, and I've used MEMBER OF in the new "cross...&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/3MikAaM_-9c" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/3MikAaM_-9c/sudoku-solver-10g.html" title="Sudoku solver 10g" /><link rel="related" href="http://www.williamrobertson.net/code/sudoku_mk4.pls" title="Sudoku solver 10g" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=5811090682384883687" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/5811090682384883687" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/5811090682384883687" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2007/04/sudoku-solver-10g.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-116359577829380798</id><published>2006-11-15T13:01:00.000Z</published><updated>2007-02-17T18:47:38.329Z</updated><title type="text">DBMS_ADVISOR tuning advice</title><content type="html">One new feature in 10g is DBMS_ADVISOR, which analyses a specified query and recommend ways to improve performance. This script analyzes whatever query is in the SQL*Plus buffer, so when testing a query you can simply enter

@tune&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/yijjSAozmg4" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/yijjSAozmg4/dbmsadvisor-tuning-advice.html" title="DBMS_ADVISOR tuning advice" /><link rel="related" href="http://www.williamrobertson.net/code/tune.sql" title="DBMS_ADVISOR tuning advice" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=116359577829380798" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/116359577829380798" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/116359577829380798" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2006/11/dbmsadvisor-tuning-advice.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-115767053966114702</id><published>2006-09-08T00:08:00.000+01:00</published><updated>2006-09-08T00:08:59.663+01:00</updated><title type="text">SQL*Plus Index report</title><content type="html">Report indexes for the specified table. Specify an index name to see details about that index (which table, what columns). Allows user.table, or user.index.&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/XaWGdzLkYdY" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/XaWGdzLkYdY/sqlplus-index-report.html" title="SQL*Plus Index report" /><link rel="related" href="http://www.williamrobertson.net/code/ind.sql" title="SQL*Plus Index report" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=115767053966114702" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/115767053966114702" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/115767053966114702" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2006/09/sqlplus-index-report.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-114289816823902157</id><published>2006-03-20T23:39:00.000Z</published><updated>2006-03-21T10:12:52.840Z</updated><title type="text">Sudoku solver</title><content type="html">The idea behind this solution is to find the intersect set of {row.freelist, column.freelist, square.freelist}. If that gives only one value, that must be the value of the cell. Now if row, column and square could all be instances of a Sudoku...&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/f59bPUMp7cA" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/f59bPUMp7cA/sudoku-solver.html" title="Sudoku solver" /><link rel="related" href="http://www.williamrobertson.net/code/sudoku.pls" title="Sudoku solver" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=114289816823902157" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/114289816823902157" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/114289816823902157" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2006/03/sudoku-solver.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113363837922796545</id><published>2005-12-03T19:28:00.000Z</published><updated>2005-12-03T19:32:59.240Z</updated><title type="text">Utility assortment</title><content type="html">ECHO (word-wrapper for DBMS_OUTPUT), TO_DECIMAL, TO_BASE (number conversion functions), SEND_MAIL (HTML formatted email), LIST_ELEMENT (string tokeniser), SPLIT, TO_STRING etc, all in one rather arbitrary package.&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/jGZcQWChC3A" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/jGZcQWChC3A/utility-assortment.html" title="Utility assortment" /><link rel="related" href="http://www.williamrobertson.net/code/utilities.pkg.txt" title="Utility assortment" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113363837922796545" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363837922796545" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363837922796545" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/12/utility-assortment.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113363339779205190</id><published>2005-12-03T18:06:00.000Z</published><updated>2005-12-03T18:15:13.720Z</updated><title type="text">Exception object</title><content type="html">An Exception object you can pass around between procedures. It was a bit of an experiment and I haven't found a real use for it yet, but maybe that's just because I've been working on warehouse systems for a while. Let me know if you find a use for...&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/e7EaXOffOHY" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/e7EaXOffOHY/exception-object.html" title="Exception object" /><link rel="related" href="http://www.williamrobertson.net/code/exception_ot.typ.txt" title="Exception object" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113363339779205190" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363339779205190" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363339779205190" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/12/exception-object.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113363219491568868</id><published>2005-12-03T17:47:00.000Z</published><updated>2005-12-03T20:01:20.136Z</updated><title type="text">Job control object</title><content type="html">Job control modelled on Unix: declare "job" objects, submit them, wait for them to complete. Uses DBMS_JOB to submit tasks, DBMS_ALERT for jobs to pass back status and error messages, so the calling procedure can easily track the background jobs it...&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/ZU_DioqJ_VA" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/ZU_DioqJ_VA/job-control-object.html" title="Job control object" /><link rel="related" href="http://www.williamrobertson.net/code/job_ot.typ.txt" title="Job control object" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113363219491568868" title="2 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363219491568868" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363219491568868" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/12/job-control-object.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113363200116671077</id><published>2005-12-03T17:41:00.000Z</published><updated>2005-12-03T20:02:44.643Z</updated><title type="text">Timer object</title><content type="html">Timer object to simplify the routine task of capturing start and end times and displaying formatted results. Includes "stop", "resume", "restart", "elapsed" and "show" methods.&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/_WgBuN6c-JY" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/_WgBuN6c-JY/timer-object.html" title="Timer object" /><link rel="related" href="http://www.williamrobertson.net/code/timer.typ.txt" title="Timer object" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113363200116671077" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363200116671077" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363200116671077" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/12/timer-object.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113313901837392090</id><published>2005-12-01T00:44:00.000Z</published><updated>2005-12-03T17:34:15.126Z</updated><title type="text">AVG and SUM for INTERVALs</title><content type="html">Presumably due to an oversight, Oracle have not yet overloaded the SUM and AVG functions to support the INTERVAL DAY TO SECOND datatype. Here are my AVG_DSINTERVAL and SUM_DSINTERVAL aggregate/analytic functions.&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/qJt0SxONPU4" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/qJt0SxONPU4/avg-and-sum-for-intervals.html" title="AVG and SUM for INTERVALs" /><link rel="related" href="http://www.williamrobertson.net/code/agg_dsinterval.typ.txt" title="AVG and SUM for INTERVALs" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113313901837392090" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313901837392090" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313901837392090" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/12/avg-and-sum-for-intervals.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113000065464951211</id><published>2005-11-30T18:03:00.000Z</published><updated>2007-09-10T23:51:11.815+01:00</updated><title type="text">Explain Plan Utility</title><content type="html">My handy Explain Plan script for SQL*Plus. Just type:
@xplan&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/wb8aklqKj6k" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/wb8aklqKj6k/explain-plan-utility.html" title="Explain Plan Utility" /><link rel="related" href="http://www.williamrobertson.net/code/xplan.sql" title="Explain Plan Utility" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113000065464951211" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113000065464951211" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113000065464951211" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/11/explain-plan-utility.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113001331886957350</id><published>2005-11-29T21:34:00.000Z</published><updated>2006-09-03T14:41:40.170+01:00</updated><title type="text">Which</title><content type="html">Resolves an object name following the same resolution path as SQL or PL/SQL:
e.g. given the name "EMP", figure out that it's a public synonym for SCOTT.EMPLOYEES.

Usage - use any of the following:
@which emp
@which scott.emp
@which em%

The report...&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/FkRbRRApJDc" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/FkRbRRApJDc/which.html" title="Which" /><link rel="related" href="http://www.williamrobertson.net/code/which.sql" title="Which" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113001331886957350" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113001331886957350" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113001331886957350" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/11/which.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113071145142604965</id><published>2005-11-28T22:27:00.000Z</published><updated>2005-11-28T00:43:00.420Z</updated><title type="text">My sessions</title><content type="html">A variation of sessions.sql, but limited to the current OS user account. Handy when there are a lot of sessions and you only want to see your own. I should probably write a generic one that takes parameters...&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/_3obwL2IjMY" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/_3obwL2IjMY/my-sessions.html" title="My sessions" /><link rel="related" href="http://www.williamrobertson.net/code/my_sessions.sql.txt" title="My sessions" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113071145142604965" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113071145142604965" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113071145142604965" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/11/my-sessions.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113071122096351195</id><published>2005-11-28T22:23:00.000Z</published><updated>2005-11-28T00:42:15.140Z</updated><title type="text">Sessions</title><content type="html">List all database sessions. Handy when you don't have TOAD, PL/SQL Developer etc around.&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/nq7ug1nbD3M" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/nq7ug1nbD3M/sessions.html" title="Sessions" /><link rel="related" href="http://www.williamrobertson.net/code/sessions.sql.txt" title="Sessions" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113071122096351195" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113071122096351195" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113071122096351195" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/11/sessions.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113313821887699664</id><published>2005-11-28T00:34:00.000Z</published><updated>2005-12-03T17:40:12.306Z</updated><title type="text">Dict</title><content type="html">Find Oracle data dictionary information, grouping the results into USER_/ALL_/DBA_/other. e.g. "@dict dict" finds DICT, DICTIONARY, DICT_COLUMNS, GV$LOGMNR_DICTIONARY and V$LOGMNR_DICTIONARY together with their descriptions.&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/jJiRJ2Qj_5s" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/jJiRJ2Qj_5s/dict.html" title="Dict" /><link rel="related" href="http://www.williamrobertson.net/code/dict.sql.txt" title="Dict" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113313821887699664" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313821887699664" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313821887699664" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/11/dict.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113313764847632252</id><published>2005-11-28T00:26:00.000Z</published><updated>2005-11-28T00:27:28.476Z</updated><title type="text">Deps</title><content type="html">Dependency report for specified object (table, package etc) using DBA_DEPENDENCIES view.&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/p_yHXZjAsaA" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/p_yHXZjAsaA/deps.html" title="Deps" /><link rel="related" href="http://www.williamrobertson.net/code/deps.sql.txt" title="Deps" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113313764847632252" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313764847632252" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313764847632252" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/11/deps.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113313748781322420</id><published>2005-11-28T00:21:00.000Z</published><updated>2005-11-28T00:24:47.823Z</updated><title type="text">Constr</title><content type="html">Database constraints report, for the specified table, e.g. "@constr emp". Requires three stored types, which are included (commented out) within the script.&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/SuUS4jGau3o" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/SuUS4jGau3o/constr.html" title="Constr" /><link rel="related" href="http://www.williamrobertson.net/code/constr.sql.txt" title="Constr" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113313748781322420" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313748781322420" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313748781322420" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/11/constr.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113312054558423499</id><published>2005-11-27T19:37:00.000Z</published><updated>2005-11-27T19:42:25.583Z</updated><title type="text">Cardinality</title><content type="html">Reports on how unique a column is. For example, 90% of its values might be unique, with the remaining duplicates appearing in groups of twos and threes. This is useful when investigating a system that doesn't have a full set of unique constraints,...&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/5gWl65DsedM" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/5gWl65DsedM/cardinality.html" title="Cardinality" /><link rel="related" href="http://www.williamrobertson.net/code/cardinality.sql.txt" title="Cardinality" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113312054558423499" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113312054558423499" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113312054558423499" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/11/cardinality.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113312013602530588</id><published>2005-11-27T19:31:00.000Z</published><updated>2005-11-27T19:35:36.036Z</updated><title type="text">Count</title><content type="html">Shows the distinct values of [column] within [table], e.g. "@count object_type all_objects", which is the same as "SELECT object_type, COUNT(*) FROM all_objects GROUP BY object_type", but less typing.&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/-jAvKT1U_1o" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/-jAvKT1U_1o/count.html" title="Count" /><link rel="related" href="http://www.williamrobertson.net/code/count.sql.txt" title="Count" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113312013602530588" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113312013602530588" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113312013602530588" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/11/count.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113121873142694417</id><published>2005-11-05T19:21:00.000Z</published><updated>2005-11-05T19:25:31.426Z</updated><title type="text">Most</title><content type="html">Find the value that occurs most often in a column. For example, "@most object_type all_objects" reports "VIEW" and the number of occurrences; or "@most object_type all_objects 5" to see the top 5 object types.&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/X2n-6Koeg84" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/X2n-6Koeg84/most.html" title="Most" /><link rel="related" href="http://www.williamrobertson.net/code/most.sql.txt" title="Most" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113121873142694417" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113121873142694417" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113121873142694417" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/11/most.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113121831851727969</id><published>2005-11-05T19:14:00.000Z</published><updated>2005-11-05T19:18:38.526Z</updated><title type="text">Percent</title><content type="html">Report on the population of [column] within [table]. Shows you how many null values exist in a column.&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/Xpct0F-yBJk" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/Xpct0F-yBJk/percent.html" title="Percent" /><link rel="related" href="http://www.williamrobertson.net/code/percent.sql.txt" title="Percent" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113121831851727969" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113121831851727969" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113121831851727969" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/11/percent.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18167814.post-113001955326023976</id><published>2005-10-22T23:16:00.000+01:00</published><updated>2005-10-22T23:27:38.230+01:00</updated><title type="text">Biggest</title><content type="html">Specify a table and a column name, to find the longest value held in that column. Can be useful when analyzing usage patterns or diagnosing "value too large" errors.&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/Pv4pc0h6_Pw" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/Pv4pc0h6_Pw/biggest.html" title="Biggest" /><link rel="related" href="http://www.williamrobertson.net/code/biggest.sql.txt" title="Biggest" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=18167814&amp;postID=113001955326023976" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.williamrobertson.net/feed/code-atom.xml" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113001955326023976" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113001955326023976" /><author><name>William Robertson</name><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.williamrobertson.net/feed/2005/10/biggest.html</feedburner:origLink></entry></feed>
