<?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:georss="http://www.georss.org/georss" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
<id>tag:blogger.com,1999:blog-18167814</id>
<updated>2009-12-15T19:06:07.867Z</updated>
<title type="text">William Robertson code</title>
<subtitle type="html">Code, scripts and utilities, mostly for Oracle devlopers</subtitle>

<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>

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/WilliamRobertsonCode" /><feedburner:info uri="williamrobertsoncode" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><logo>http://www.williamrobertson.pwp.blueyonder.co.uk/gifs/websitelogo_chromestretched.jpg</logo><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:williamrobertson.net,1999:blog-18167814.post-1</id>
    <published>2011-10-16T15:00:00.000Z</published>
    <updated>2011-10-16T16:22:00.000+01:00</updated>
    <title type="text">xplanx.sql - an easier way to call dbms_xplan.display_cursor</title>
    <content type="html">Similar to xplan, but calls dbms_xplan.display_cursor instead of Explain Plan.&lt;img src="http://feeds.feedburner.com/~r/WilliamRobertsonCode/~4/CG0aXyp6Hnw" height="1" width="1"/&gt;</content>
    <link rel="related" href="http://www.williamrobertson.net/code/xplanx.sql" title="xplanx.sql - an easier way to call dbms_xplan.display_cursor" />
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/CG0aXyp6Hnw/xplanx.html" title="xplanx.sql - an easier way to call dbms_xplan.display_cursor" />
    <link rel="self" type="application/atom+xml" href="http://www.williamrobertson.net/documents/xplanx.html" />
    <author>
        <name>William Robertson</name>
        <email>william@williamrobertson.net</email>
    </author>
    <thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/xplanx.html</feedburner:origLink></entry>
<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/_1uMVacxtjE" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/parallel_plsql_launcher.sql" title="Parallel PL/SQL launcher update" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/5092166304250712038/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=5092166304250712038" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/5092166304250712038" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/5092166304250712038" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/_1uMVacxtjE/parallel-plsql-launcher-update.html" title="Parallel PL/SQL launcher update" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/olC9_vSvSMM" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/parallel_plsql_launcher.sql" title="Parallel PL/SQL launcher" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/3866028289524526280/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=3866028289524526280" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/3866028289524526280" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/3866028289524526280" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/olC9_vSvSMM/parallel-plsql-launcher.html" title="Parallel PL/SQL launcher" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/nwKiZ5U9a7o" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/sudoku_mk4.pls" title="Sudoku solver 10g" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/5811090682384883687/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=5811090682384883687" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/5811090682384883687" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/5811090682384883687" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/nwKiZ5U9a7o/sudoku-solver-10g.html" title="Sudoku solver 10g" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/_wxDjsG3q9o" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/tune.sql" title="DBMS_ADVISOR tuning advice" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/116359577829380798/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=116359577829380798" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/116359577829380798" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/116359577829380798" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/_wxDjsG3q9o/dbmsadvisor-tuning-advice.html" title="DBMS_ADVISOR tuning advice" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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>2012-02-05T00:13:20.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/JGxuwp5RHgE" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/ind.sql" title="SQL*Plus Index report" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/115767053966114702/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=115767053966114702" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/115767053966114702" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/115767053966114702" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/JGxuwp5RHgE/sqlplus-index-report.html" title="SQL*Plus Index report" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/E82ZOagPgMg" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/sudoku.pls" title="Sudoku solver" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/114289816823902157/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=114289816823902157" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/114289816823902157" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/114289816823902157" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/E82ZOagPgMg/sudoku-solver.html" title="Sudoku solver" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/8E7RJJKUE6U" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/utilities.pkg.txt" title="Utility assortment" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113363837922796545/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113363837922796545" title="1 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363837922796545" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363837922796545" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/8E7RJJKUE6U/utility-assortment.html" title="Utility assortment" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/SeMTxtLVDvc" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/exception_ot.typ.txt" title="Exception object" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113363339779205190/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113363339779205190" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363339779205190" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363339779205190" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/SeMTxtLVDvc/exception-object.html" title="Exception object" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/CD9Zmqzvcrc" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/job_ot.typ.txt" title="Job control object" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113363219491568868/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113363219491568868" title="2 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363219491568868" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363219491568868" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/CD9Zmqzvcrc/job-control-object.html" title="Job control object" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/R87P297CS_U" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/timer.typ.txt" title="Timer object" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113363200116671077/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113363200116671077" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363200116671077" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113363200116671077" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/R87P297CS_U/timer-object.html" title="Timer object" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/-sjmPypP3p0" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/agg_dsinterval.typ.txt" title="AVG and SUM for INTERVALs" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113313901837392090/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113313901837392090" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313901837392090" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313901837392090" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/-sjmPypP3p0/avg-and-sum-for-intervals.html" title="AVG and SUM for INTERVALs" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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">xplan.sql - 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/HCj4nvKzlJg" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/xplan.sql" title="xplan.sql - Explain Plan utility" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113000065464951211/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113000065464951211" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113000065464951211" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113000065464951211" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/HCj4nvKzlJg/explain-plan-utility.html" title="xplan.sql - Explain Plan utility" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/9aHt9iawsCM" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/which.sql" title="Which" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113001331886957350/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113001331886957350" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113001331886957350" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113001331886957350" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/9aHt9iawsCM/which.html" title="Which" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/9nzjvpz1cOU" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/my_sessions.sql.txt" title="My sessions" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113071145142604965/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113071145142604965" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113071145142604965" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113071145142604965" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/9nzjvpz1cOU/my-sessions.html" title="My sessions" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/vVdmfTMEr-Q" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/sessions.sql.txt" title="Sessions" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113071122096351195/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113071122096351195" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113071122096351195" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113071122096351195" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/vVdmfTMEr-Q/sessions.html" title="Sessions" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/FGcPmr6V7TQ" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/dict.sql.txt" title="Dict" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113313821887699664/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113313821887699664" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313821887699664" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313821887699664" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/FGcPmr6V7TQ/dict.html" title="Dict" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/gehv6c48YZc" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/deps.sql.txt" title="Deps" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113313764847632252/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113313764847632252" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313764847632252" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313764847632252" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/gehv6c48YZc/deps.html" title="Deps" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/t8aEbB7FZs0" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/constr.sql.txt" title="Constr" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113313748781322420/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113313748781322420" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313748781322420" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113313748781322420" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/t8aEbB7FZs0/constr.html" title="Constr" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/L0S3KTK3y5I" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/cardinality.sql.txt" title="Cardinality" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113312054558423499/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113312054558423499" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113312054558423499" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113312054558423499" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/L0S3KTK3y5I/cardinality.html" title="Cardinality" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/pmxRHLLNSZA" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/count.sql" title="Count" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113312013602530588/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113312013602530588" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113312013602530588" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113312013602530588" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/pmxRHLLNSZA/count.html" title="Count" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/D5e6UnTGgFE" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/most.sql.txt" title="Most" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113121873142694417/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113121873142694417" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113121873142694417" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113121873142694417" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/D5e6UnTGgFE/most.html" title="Most" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/pgN0jLndyhc" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/percent.sql.txt" title="Percent" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113121831851727969/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113121831851727969" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113121831851727969" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113121831851727969" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/pgN0jLndyhc/percent.html" title="Percent" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/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/4JmddQxP_lk" height="1" width="1"/&gt;</content>
<link rel="related" href="http://www.williamrobertson.net/code/biggest.sql.txt" title="Biggest" />
<link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/113001955326023976/comments/default" title="Post Comments" />
<link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18167814&amp;postID=113001955326023976" title="0 Comments" />
<link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113001955326023976" />
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18167814/posts/default/113001955326023976" />
<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WilliamRobertsonCode/~3/4JmddQxP_lk/biggest.html" title="Biggest" />
<author>
<name>William Robertson</name>
<email>noreply@blogger.com</email>
<gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15419749305409395293" /></author>
<thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.williamrobertson.net/documents/biggest.html</feedburner:origLink></entry></feed>

