<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/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:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-17329758</id><updated>2011-08-17T11:12:27.082+08:00</updated><category term='Python'/><category term='introspection'/><category term='Dirt Cheap Oracle'/><category term='Oracle docs'/><category term='javascript'/><category term='SEO'/><category term='SQL'/><category term='Code Snippet Of The Day'/><category term='Oracle XE'/><category term='disasters'/><category term='Linux'/><category term='bug'/><category term='Avoiding Lost Updates'/><category term='SQL Developer'/><category term='PL/SQL'/><category term='Jobs'/><category term='fun'/><category term='APEX'/><category term='Forms'/><category term='AUSOUG'/><category term='Google'/><category term='data modelling'/><title type='text'>Jeff Kemp on Oracle</title><subtitle type='html'>I've moved! www.jeffkemponoracle.com</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>93</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-17329758.post-5939393351912417824</id><published>2010-04-06T10:16:00.000+08:00</published><updated>2010-04-06T10:16:29.473+08:00</updated><title type='text'>I've moved!</title><summary type='text'>I know how annoying it is to get these notices in your feed reader, so I'm sorry! But I've moved this blog to a new address - jeffkemponoracle.com. Please update your links and readers, thanks!</summary><link rel='related' href='http://www.jeffkemponoracle.com' title='I&apos;ve moved!'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/5939393351912417824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/04/ive-moved.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5939393351912417824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5939393351912417824'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/04/ive-moved.html' title='I&apos;ve moved!'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-6088701236488116574</id><published>2010-03-29T10:11:00.001+08:00</published><updated>2010-06-21T15:02:17.587+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><title type='text'>Demise of the Perth AUSOUG Conference?</title><summary type='text'>Got an email this morning from the Australian Oracle User Group...

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2010/03/29/demise-of-the-perth-ausoug-conference/' title='Demise of the Perth AUSOUG Conference?'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/6088701236488116574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/03/demise-of-perth-ausoug-conference.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/6088701236488116574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/6088701236488116574'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/03/demise-of-perth-ausoug-conference.html' title='Demise of the Perth AUSOUG Conference?'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-789896359836435325</id><published>2010-03-23T21:33:00.003+08:00</published><updated>2010-06-22T14:00:49.760+08:00</updated><title type='text'>SQL Injection License Plate</title><summary type='text'>Bobby Table's got himself a car :)

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2010/03/23/sql-injection-license-plate/' title='SQL Injection License Plate'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/789896359836435325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/03/sql-injection-license-plate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/789896359836435325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/789896359836435325'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/03/sql-injection-license-plate.html' title='SQL Injection License Plate'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-3192086368664171891</id><published>2010-03-17T13:12:00.004+08:00</published><updated>2010-06-21T15:02:59.333+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>A good entry-level interview question</title><summary type='text'>I think this would make a reasonable question for would-be database developers:

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2010/03/17/a-good-entry-level-interview-question/' title='A good entry-level interview question'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/3192086368664171891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/03/good-entry-level-interview-question.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/3192086368664171891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/3192086368664171891'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/03/good-entry-level-interview-question.html' title='A good entry-level interview question'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-5392184317110007159</id><published>2010-03-11T13:31:00.003+08:00</published><updated>2010-06-21T15:03:27.892+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='disasters'/><title type='text'>Lesson learned today</title><summary type='text'>Comment out all "DROP TABLE" commands in my scripts.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2010/03/11/lesson-learned-today/' title='Lesson learned today'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/5392184317110007159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/03/lesson-learned-today.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5392184317110007159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5392184317110007159'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/03/lesson-learned-today.html' title='Lesson learned today'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-6961000395538521059</id><published>2010-03-02T11:37:00.004+08:00</published><updated>2010-06-21T15:04:01.845+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><title type='text'>Please, hard-code your literals</title><summary type='text'>As Feuerstein says,

We all know that hard-coding is a bad thing in software. But most developers think of hard-coding simply as typing a literal value into your program whenever you need it.
...
So what's wrong with doing this? Nothing - as long as the value is never going to change. But what's the chance of that happening? In fact, what's the chance of anything staying the same (never changing)</summary><link rel='related' href='http://jeffkemponoracle.com/2010/03/02/please-hard-code-your-literals/' title='Please, hard-code your literals'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/6961000395538521059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/03/please-hard-code-your-literals.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/6961000395538521059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/6961000395538521059'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/03/please-hard-code-your-literals.html' title='Please, hard-code your literals'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-1010682709039216257</id><published>2010-02-03T12:59:00.003+08:00</published><updated>2010-06-21T15:04:34.662+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data modelling'/><title type='text'>Why EAV is bad, mostly; and why it is used so often</title><summary type='text'>Tom Kyte offers some astute observations regarding EAV data models in general.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2010/02/03/why-eav-is-bad-mostly-and-why-it-is-used-so-often/' title='Why EAV is bad, mostly; and why it is used so often'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/1010682709039216257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/02/why-eav-is-bad-mostly-and-why-it-is.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1010682709039216257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1010682709039216257'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/02/why-eav-is-bad-mostly-and-why-it-is.html' title='Why EAV is bad, mostly; and why it is used so often'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-9061441931118964312</id><published>2010-01-24T08:17:00.005+08:00</published><updated>2010-06-21T15:05:09.729+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>Googlebot boosts Apex performance</title><summary type='text'>Every day it seems, Googlebot scans my site. You wouldn't think that would affect the performance of the site, or if at all, would make it worse, right?

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2010/01/24/googlebot-boosts-apex-performance/' title='Googlebot boosts Apex performance'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/9061441931118964312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/01/googlebot-boosts-apex-performance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/9061441931118964312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/9061441931118964312'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2010/01/googlebot-boosts-apex-performance.html' title='Googlebot boosts Apex performance'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-1560835789932298972</id><published>2009-12-31T21:34:00.003+08:00</published><updated>2010-06-21T15:05:43.190+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='introspection'/><title type='text'>Ten Years on Oracle</title><summary type='text'>Almost exactly ten years ago, as all the Y2K bug projects were quietly winding down, I'd been getting ready for a new decade, which for me was full of uncertainty and promise. It was in 2000 that I got married, and started my first job in the I.T. industry (but not in that order). Many people thought the world was going to end, but for me it felt like the dawn of a new personal era.

[Full </summary><link rel='related' href='http://jeffkemponoracle.com/2009/12/31/ten-years-on-oracle/' title='Ten Years on Oracle'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/1560835789932298972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/12/ten-years-on-oracle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1560835789932298972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1560835789932298972'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/12/ten-years-on-oracle.html' title='Ten Years on Oracle'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-511239626551928368</id><published>2009-12-23T10:35:00.005+08:00</published><updated>2010-06-21T15:06:15.618+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>How to Change the ORDER BY When You Can't Modify the SQL</title><summary type='text'>Is it possible to change the ORDER BY on a query, if the SQL is defined in a wrapped PL/SQL package? A colleague asked me this interesting question today - and the answer was quite simply, Yes and No.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2009/12/23/how-to-change-the-order-by-when-you-cant-modify-the-sql/' title='How to Change the ORDER BY When You Can&apos;t Modify the SQL'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/511239626551928368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/12/how-to-change-order-by-when-you-cant.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/511239626551928368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/511239626551928368'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/12/how-to-change-order-by-when-you-cant.html' title='How to Change the ORDER BY When You Can&apos;t Modify the SQL'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-2070618105979754289</id><published>2009-11-10T18:35:00.008+08:00</published><updated>2010-06-21T15:06:49.382+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>AUSOUG Conference 2009 Day One</title><summary type='text'>It was great to catch up with former colleagues at the conference today. As I go from site to site I'm gradually collecting more and more former colleagues and it's great to hear how they're going and what they're working on.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2009/11/10/ausoug-conference-2009-day-one/' title='AUSOUG Conference 2009 Day One'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/2070618105979754289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/11/ausoug-conference-2009-day-one.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/2070618105979754289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/2070618105979754289'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/11/ausoug-conference-2009-day-one.html' title='AUSOUG Conference 2009 Day One'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-1125232953906102716</id><published>2009-10-26T21:44:00.008+08:00</published><updated>2010-06-21T15:07:36.879+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google indexes duplicate pages from my Apex site - problem solved</title><summary type='text'>Problem: when Google indexes my Apex web site, it considers the following URLs to be different pages:
http://www.site.com/apex/f?p=100:1:1234567890::::
http://www.site.com/apex/f?p=100:1:0::::
http://www.site.com/apex/f?p=MYAPP:1:46346346346::::
http://www.site.com/apex/f?p=MYAPP:1:34634634636::::
http://www.site.com/apex/f?p=MYAPP:HOME:46346346346::::
http://www.site.com/apex/f?p=MYAPP:HOME:0:::</summary><link rel='related' href='http://jeffkemponoracle.com/2009/10/26/google-indexes-duplicate-pages-from-my-apex-site-problem-solved/' title='Google indexes duplicate pages from my Apex site - problem solved'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/1125232953906102716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/10/google-indexes-duplicate-pages-from-my.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1125232953906102716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1125232953906102716'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/10/google-indexes-duplicate-pages-from-my.html' title='Google indexes duplicate pages from my Apex site - problem solved'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-4512851029231282203</id><published>2009-10-23T17:12:00.005+08:00</published><updated>2010-06-21T15:08:12.764+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><title type='text'>AUSOUG 2009</title><summary type='text'>Finally the AUSOUG 2009 conference program is out!

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2009/10/23/ausoug-2009/' title='AUSOUG 2009'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/4512851029231282203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/10/ausoug-2009.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4512851029231282203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4512851029231282203'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/10/ausoug-2009.html' title='AUSOUG 2009'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-9080538543585039618</id><published>2009-08-29T16:13:00.005+08:00</published><updated>2010-06-21T15:08:40.538+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Two questions about stored outlines</title><summary type='text'>Out of a discussion with a colleague at work I had two questions to answer:
Can a stored outline change a query - e.g. the FROM or WHERE clauses?
If a stored outline hints the query to use a function-based index, and a user doesn't have execute privilege on the function, what happens if the user runs the query?
[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2009/08/29/two-questions-about-stored-outlines/' title='Two questions about stored outlines'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/9080538543585039618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/08/two-questions-about-stored-outlines.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/9080538543585039618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/9080538543585039618'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/08/two-questions-about-stored-outlines.html' title='Two questions about stored outlines'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-5899881722789995135</id><published>2009-07-25T21:00:00.006+08:00</published><updated>2010-06-21T15:09:10.719+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Create Excel file from SQL query using Python</title><summary type='text'>This will create a file called "emp.xls" with a nicely formatted spreadsheet based on the query specified. The header row is based on the column names, and is frozen. The column widths are set according to the max width of the data.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2009/07/25/create-excel-file-from-sql-query-using-python/' title='Create Excel file from SQL query using Python'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/5899881722789995135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/07/create-excel-file-from-sql-query-using.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5899881722789995135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5899881722789995135'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/07/create-excel-file-from-sql-query-using.html' title='Create Excel file from SQL query using Python'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-7122859302273067483</id><published>2009-07-24T20:20:00.005+08:00</published><updated>2010-06-21T15:09:59.241+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Great number formatting trick</title><summary type='text'>An excellent use of Oracle's inbuilt formatting function - much simpler than parsing the input and multiple concatenation operators...

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2009/07/24/great-number-formatting-trick/' title='Great number formatting trick'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/7122859302273067483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/07/great-number-formatting-trick.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/7122859302273067483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/7122859302273067483'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/07/great-number-formatting-trick.html' title='Great number formatting trick'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-1111429631684475282</id><published>2009-06-29T09:45:00.003+08:00</published><updated>2010-06-21T15:10:35.445+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Python: it's been done before</title><summary type='text'>I've learned that with Python, if something takes more than a few lines to write, there's a very good chance that there's another way to do it but with one or two lines of code. Chances are someone else has already come across a similar problem, and written a module to solve it - and it's just a matter of importing their module and reusing it.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2009/06/29/python-its-been-done-before/' title='Python: it&apos;s been done before'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/1111429631684475282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/06/python-its-been-done-before.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1111429631684475282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1111429631684475282'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/06/python-its-been-done-before.html' title='Python: it&apos;s been done before'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-4472787429686186365</id><published>2009-06-27T20:00:00.024+08:00</published><updated>2010-06-21T15:11:06.876+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Empythoning Oracle</title><summary type='text'>Quite a few months ago I read Wrapping Your Brain Around Oracle + Python and was somewhat interested but too busy to look into it in depth.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2009/06/27/empythoning-oracle/' title='Empythoning Oracle'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/4472787429686186365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/06/empythoning-oracle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4472787429686186365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4472787429686186365'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/06/empythoning-oracle.html' title='Empythoning Oracle'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-1913590680224566427</id><published>2009-06-05T10:56:00.002+08:00</published><updated>2010-06-21T15:11:39.524+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>A good reason to change NVL to COALESCE</title><summary type='text'>Short-circuit evaluation!

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2009/06/05/a-good-reason-to-change-nvl-to-coalesce/' title='A good reason to change NVL to COALESCE'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/1913590680224566427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/06/good-reason-to-change-nvl-to-coalesce.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1913590680224566427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1913590680224566427'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/06/good-reason-to-change-nvl-to-coalesce.html' title='A good reason to change NVL to COALESCE'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-2510826734790699629</id><published>2009-05-22T08:54:00.003+08:00</published><updated>2010-06-21T15:12:24.702+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>How to tell if someone's a programmer</title><summary type='text'>"A woman asks her husband, a programmer, to go shopping:..."

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2009/05/22/how-to-tell-if-someones-a-programmer/' title='How to tell if someone&apos;s a programmer'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/2510826734790699629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/05/how-to-tell-if-someones-programmer.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/2510826734790699629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/2510826734790699629'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/05/how-to-tell-if-someones-programmer.html' title='How to tell if someone&apos;s a programmer'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-8842437536162318103</id><published>2009-05-11T21:14:00.006+08:00</published><updated>2010-06-21T15:13:00.645+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><title type='text'>Not just a free lunch</title><summary type='text'>When I first learned to drive, all our cars were automatics - and so that's all I learned to drive. This never posed an issue to me until I married Rosalie who owns a manual. She tried to teach me, and I managed - kind of. It wasn't until I had a chat with my uncle-in-law, who's a mechanic, that it "clicked" with me. This is because he explained to me basically how the gear-change system works, </summary><link rel='related' href='http://jeffkemponoracle.com/2009/05/11/not-just-a-free-lunch/' title='Not just a free lunch'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/8842437536162318103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/05/not-just-free-lunch.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/8842437536162318103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/8842437536162318103'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/05/not-just-free-lunch.html' title='Not just a free lunch'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-4516489744528294354</id><published>2009-03-27T17:15:00.006+09:00</published><updated>2010-06-21T15:13:30.665+08:00</updated><title type='text'>I Am Wizard: A Short Story</title><summary type='text'>I was working happily on my laptop in the living room, kids playing on the rug, birds were singing, et cetera. All of a sudden, a blood-curdling scream erupts from the office. It was my wife.
"Jeff! Is there an "undo" function in the roster program??!?!?"
Uh oh.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2009/03/27/i-am-wizard-a-short-story/' title='I Am Wizard: A Short Story'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/4516489744528294354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/03/i-am-wizard-short-story.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4516489744528294354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4516489744528294354'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/03/i-am-wizard-short-story.html' title='I Am Wizard: A Short Story'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-1958207821130682315</id><published>2009-03-11T23:38:00.007+09:00</published><updated>2010-06-21T15:14:17.723+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><category scheme='http://www.blogger.com/atom/ns#' term='Jobs'/><title type='text'>Job opportunity for Apex developer</title><summary type='text'>Interesting to see openings specifically for Apex developers in Perth. For example:

Oracle Developer - APEX (Applications Express)
...
[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2009/03/11/job-opportunity-for-apex-developer/' title='Job opportunity for Apex developer'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/1958207821130682315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/03/job-opportunity-for-apex-developer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1958207821130682315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1958207821130682315'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/03/job-opportunity-for-apex-developer.html' title='Job opportunity for Apex developer'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-1232512416102221370</id><published>2009-02-24T10:39:00.006+09:00</published><updated>2010-06-21T15:14:54.990+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Forms'/><title type='text'>Bias in Testing</title><summary type='text'>I've been trying a number of strategies to improve the performance of a very complex form (Oracle Forms 6i) currently in development. We've already done a fair amount of work making the code as efficient as possible, while still being reasonably maintainable, so there don't seem to be any more low-hanging fruit we can pick off easily.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2009/02/24/bias-in-testing/' title='Bias in Testing'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/1232512416102221370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/02/bias-in-testing.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1232512416102221370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1232512416102221370'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2009/02/bias-in-testing.html' title='Bias in Testing'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-8117822104068383651</id><published>2008-10-18T14:30:00.006+08:00</published><updated>2010-06-21T15:15:53.791+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>Add colours to your Shuttle item</title><summary type='text'>
I wanted to allow users to select one or more colours from a list, and to control the order of the colours, so I've used a Shuttle item.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2008/10/18/add-colours-to-your-shuttle-item/' title='Add colours to your Shuttle item'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/8117822104068383651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/10/add-colours-to-your-shuttle-item.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/8117822104068383651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/8117822104068383651'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/10/add-colours-to-your-shuttle-item.html' title='Add colours to your Shuttle item'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_CXzObjQv9MI/SPmDxcYgroI/AAAAAAAAABg/mOnYfN1kzxA/s72-c/colour_shuttle.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-1084943419952692034</id><published>2008-10-13T14:00:00.007+08:00</published><updated>2010-06-21T15:16:26.211+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Forms'/><title type='text'>FRM-40654 "Record has been updated by another user"</title><summary type='text'>There are several reasons you might get this error in Oracle Forms, e.g. another user has modified the record before you saved it (as the error message suggests), or a table trigger has modified the record and your form's DML Returning Value is set to No.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2008/10/13/frm-40654-record-has-been-updated-by-another-user/' title='FRM-40654 &quot;Record has been updated by another user&quot;'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/1084943419952692034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/10/frm-40654-record-has-been-updated-by.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1084943419952692034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1084943419952692034'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/10/frm-40654-record-has-been-updated-by.html' title='FRM-40654 &quot;Record has been updated by another user&quot;'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-6210581960234465711</id><published>2008-10-08T09:01:00.011+08:00</published><updated>2010-06-21T15:17:18.421+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>Apex, More Apex, a bit of PL/SQL, ACEs and Babbage</title><summary type='text'>One of the worst times to get an ear infection, I learnt, is the night before you present at a conference. I hardly got any sleep and I’m deaf in one ear, making my voice echo in my head.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2008/10/08/apex-more-apex-a-bit-of-plsql-aces-and-babbage/' title='Apex, More Apex, a bit of PL/SQL, ACEs and Babbage'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/6210581960234465711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/10/apex-more-apex-bit-of-plsql-aces-and.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/6210581960234465711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/6210581960234465711'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/10/apex-more-apex-bit-of-plsql-aces-and.html' title='Apex, More Apex, a bit of PL/SQL, ACEs and Babbage'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-3044755880301937359</id><published>2008-10-02T12:17:00.004+08:00</published><updated>2010-06-22T08:32:28.376+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><title type='text'>AUSOUG Perth Conference</title><summary type='text'>I've been in bed the last few days with a virus, but I should be ok in time for Monday. Had a look through the programme, and again it's chocablock with very interesting titles. Quite a bit of Development Blue, but not so much DBA Cyan this time (unfortunately, in my opinion). There's a lot of Apex sessions which I'm guessing reflects the growth of interest in Apex development here in Perth.

[</summary><link rel='related' href='http://jeffkemponoracle.com/2008/10/02/ausoug-perth-conference/' title='AUSOUG Perth Conference'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/3044755880301937359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/10/ausoug-perth-conference.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/3044755880301937359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/3044755880301937359'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/10/ausoug-perth-conference.html' title='AUSOUG Perth Conference'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-2339269993435222822</id><published>2008-08-07T20:42:00.004+08:00</published><updated>2010-06-22T08:33:13.157+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>I'm talking about Apex...</title><summary type='text'>at the AUSOUG conference this year. First time for me, so please be gentle :)

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2008/08/07/im-talking-about-apex/' title='I&apos;m talking about Apex...'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/2339269993435222822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/08/im-talking-about-apex.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/2339269993435222822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/2339269993435222822'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/08/im-talking-about-apex.html' title='I&apos;m talking about Apex...'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-363164650620587724</id><published>2008-08-04T08:18:00.007+08:00</published><updated>2010-06-22T08:33:45.741+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><title type='text'>"This Procedure Never Raises Exceptions"</title><summary type='text'>It's a really bad thing to do, but that's ok because "we put comments in that say it's bad".

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2008/08/04/this-procedure-never-raises-exceptions/' title='&quot;This Procedure Never Raises Exceptions&quot;'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/363164650620587724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/08/this-procedure-never-raises-exceptions.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/363164650620587724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/363164650620587724'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/08/this-procedure-never-raises-exceptions.html' title='&quot;This Procedure Never Raises Exceptions&quot;'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-1048727945598358023</id><published>2008-07-14T15:39:00.009+08:00</published><updated>2010-06-21T14:48:33.005+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Prefix searches, Wildcard characters and LIKE</title><summary type='text'>Want to run a prefix search using the LIKE operator, but your search pattern includes wildcards like _ or %? A common example is searching the v$parameter view for parameters starting with the underscore (_) character. [Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2008/07/14/prefix-searches-wildcard-characters-and-like/' title='Prefix searches, Wildcard characters and LIKE'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/1048727945598358023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/07/prefix-searches-wildcard-characters-and.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1048727945598358023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1048727945598358023'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/07/prefix-searches-wildcard-characters-and.html' title='Prefix searches, Wildcard characters and LIKE'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-5874495715085882323</id><published>2008-05-08T21:10:00.004+08:00</published><updated>2010-06-22T08:34:20.538+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>Add a "Who's Online Now" box to your Apex app</title><summary type='text'>Something to file under "pointless fun"...

Allow your users to feel like they're part of a community by letting them know who else is using the app at the same time.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2008/05/08/add-a-whos-online-now-box-to-your-apex-app/' title='Add a &quot;Who&apos;s Online Now&quot; box to your Apex app'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/5874495715085882323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/05/add-whos-online-now-box-to-your-apex.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5874495715085882323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5874495715085882323'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/05/add-whos-online-now-box-to-your-apex.html' title='Add a &quot;Who&apos;s Online Now&quot; box to your Apex app'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-24330215866231785</id><published>2008-05-02T09:23:00.001+08:00</published><updated>2010-06-22T08:34:55.532+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>WITH With an IN; or, A Reason to Refactor</title><summary type='text'>A work colleague needed to make a change to a report and came up against a brick wall. He knew what he wanted to express in SQL, but Oracle wouldn't accept his syntax.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2008/05/02/with-with-an-in-or-a-reason-to-refactor/' title='WITH With an IN; or, A Reason to Refactor'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/24330215866231785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/05/with-with-in-or-reason-to-refactor.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/24330215866231785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/24330215866231785'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/05/with-with-in-or-reason-to-refactor.html' title='WITH With an IN; or, A Reason to Refactor'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-488950160059532164</id><published>2008-04-21T20:04:00.006+08:00</published><updated>2010-06-22T08:35:34.623+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Asia Down Under</title><summary type='text'>

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2008/04/21/asia-down-under/' title='Asia Down Under'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/488950160059532164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/04/asia-down-under.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/488950160059532164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/488950160059532164'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/04/asia-down-under.html' title='Asia Down Under'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_CXzObjQv9MI/SAyDjlf8JoI/AAAAAAAAABI/qd58ST1mgJw/s72-c/asiadownunder.PNG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-5357907532245527633</id><published>2008-04-21T09:51:00.002+08:00</published><updated>2010-06-22T08:36:02.498+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Learn more about Oracle by examining obscure SQL</title><summary type='text'>How many features can you use in one SQL query to solve a problem? (that is, how many necessary features do you need without deliberately obfuscating your code)

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2008/04/21/learn-more-about-oracle-by-examining-obscure-sql/' title='Learn more about Oracle by examining obscure SQL'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/5357907532245527633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/04/learn-more-about-oracle-by-examining.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5357907532245527633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5357907532245527633'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/04/learn-more-about-oracle-by-examining.html' title='Learn more about Oracle by examining obscure SQL'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-3696917032523334017</id><published>2008-04-11T06:58:00.005+08:00</published><updated>2010-06-22T08:36:35.040+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>My APEX application asks users to log in twice</title><summary type='text'>I had this problem with an Apex application I'm building, and finally found the cause this morning, so I thought I'd share it.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2008/04/10/my-apex-application-asks-users-to-log-in-twice/' title='My APEX application asks users to log in twice'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/3696917032523334017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/04/my-apex-application-asks-users-to-log.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/3696917032523334017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/3696917032523334017'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/04/my-apex-application-asks-users-to-log.html' title='My APEX application asks users to log in twice'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-7375918927028246208</id><published>2008-03-10T21:28:00.007+09:00</published><updated>2010-06-22T08:37:02.833+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><title type='text'>TOO_MANY_ROWS side effect</title><summary type='text'>I used to assume that whenever a TOO_MANY_ROWS exception is raised, the target bind variables would be left untouched. Until today I've never written any code that relies on the bind variables being in any particular state when a TMR exception is raised, so was surprised.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2008/03/10/too_many_rows-side-effect/' title='TOO_MANY_ROWS side effect'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/7375918927028246208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/03/toomanyrows-side-effect.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/7375918927028246208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/7375918927028246208'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/03/toomanyrows-side-effect.html' title='TOO_MANY_ROWS side effect'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-8059654009777781294</id><published>2008-01-17T15:56:00.004+09:00</published><updated>2010-06-21T14:49:43.558+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>LIKE with wildcard (%) at start CAN use an index</title><summary type='text'>A tester for our client raised a problem where searches like 'ABC%' would perform satisfactorily, but searches like '%ABC' would time out. Of course, the reason is that the index on the column cannot be used if a wildcard is at the start of the string, so a full table scan is always performed.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2008/01/17/like-with-wildcard-at-start-can-use-an-index/' title='LIKE with wildcard (%) at start CAN use an index'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/8059654009777781294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/01/like-with-wildcard-at-start-can-use.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/8059654009777781294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/8059654009777781294'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/01/like-with-wildcard-at-start-can-use.html' title='LIKE with wildcard (%) at start CAN use an index'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-7389253635548619160</id><published>2008-01-04T09:02:00.002+09:00</published><updated>2010-06-22T08:37:35.177+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Install an Oracle Database Using Only Your Nose</title><summary type='text'>Having done this myself using only my ten fingers, I can verify it's as easy as it looks...

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2008/01/04/install-an-oracle-database-using-only-your-nose/' title='Install an Oracle Database Using Only Your Nose'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/7389253635548619160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/01/install-oracle-database-using-only-your.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/7389253635548619160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/7389253635548619160'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2008/01/install-oracle-database-using-only-your.html' title='Install an Oracle Database Using Only Your Nose'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-1257004424332102458</id><published>2007-11-22T21:42:00.003+09:00</published><updated>2010-06-22T08:38:12.463+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Will Oracle use my regexp function-based index?</title><summary type='text'>It was mentioned at the AUSOUG conference by one of the speakers that he couldn't get the database to use a function-based index based on the regexp functions. I thought this was a little strange so decided to try for myself.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/11/22/will-oracle-use-my-regexp-function-based-index/' title='Will Oracle use my regexp function-based index?'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/1257004424332102458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/11/will-oracle-use-my-regexp-function.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1257004424332102458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1257004424332102458'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/11/will-oracle-use-my-regexp-function.html' title='Will Oracle use my regexp function-based index?'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-3727096479879766801</id><published>2007-11-22T16:10:00.002+09:00</published><updated>2010-06-22T08:38:35.297+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Easy way to crash a Oracle 10.2 session</title><summary type='text'>This query crashes the session when it's run or parsed.
I haven't checked if this appears in other versions or not.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/11/22/easy-way-to-crash-a-oracle-10-2-session/' title='Easy way to crash a Oracle 10.2 session'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/3727096479879766801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/11/easy-way-to-crash-oracle-102-session.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/3727096479879766801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/3727096479879766801'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/11/easy-way-to-crash-oracle-102-session.html' title='Easy way to crash a Oracle 10.2 session'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-2445974619128042836</id><published>2007-11-21T20:09:00.003+09:00</published><updated>2010-06-22T08:39:03.353+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><title type='text'>AUSOUG Conference 2007 Day 2</title><summary type='text'>I enjoyed today's programme very much. John Garmany gave a very easy-to-understand intro to the world of Regular Expressions. Luie Matthee spoke about virtualised Oracle 10g instances on Red Hat Enterprise Linux 5, most of which went over my head but I'm learning.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/11/21/ausoug-conference-2007-day-2/' title='AUSOUG Conference 2007 Day 2'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/2445974619128042836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/11/ausoug-conference-2007-day-2.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/2445974619128042836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/2445974619128042836'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/11/ausoug-conference-2007-day-2.html' title='AUSOUG Conference 2007 Day 2'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-398093843444289663</id><published>2007-11-20T12:43:00.002+09:00</published><updated>2010-06-22T08:39:40.985+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><title type='text'>Not an OpenWorld post: AUSOUG Conference Day 1</title><summary type='text'>A great start to the Perth conference, great to catch up with old and not-so-old friends.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/11/20/not-an-openworld-post-ausoug-conference-day-1/' title='Not an OpenWorld post: AUSOUG Conference Day 1'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/398093843444289663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/11/not-openworld-post-ausoug-conference.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/398093843444289663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/398093843444289663'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/11/not-openworld-post-ausoug-conference.html' title='Not an OpenWorld post: AUSOUG Conference Day 1'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-4493305885366144905</id><published>2007-11-03T15:53:00.003+09:00</published><updated>2010-06-22T08:40:44.835+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>Faster Apex using mod_expires</title><summary type='text'>This is a followup on my earlier series on setting up Apex on Linux. In it I described how I used Apache web server in front of Apex, instead of accessing Apex directly via OWA (this was so that I could use the same port to serve ordinary web pages and files via HTTP).

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/11/03/faster-apex-using-mod_expires/' title='Faster Apex using mod_expires'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/4493305885366144905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/11/faster-apex-using-modexpires.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4493305885366144905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4493305885366144905'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/11/faster-apex-using-modexpires.html' title='Faster Apex using mod_expires'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-8209359371224125592</id><published>2007-09-27T18:12:00.001+08:00</published><updated>2010-06-22T08:41:56.606+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>Dirt Cheap Oracle step #6 of 6: Migrate the Apex applications</title><summary type='text'>Dirt Cheap Oracle step #6 of 6: Migrate the Apex applications

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/09/27/dirt-cheap-oracle-step-6-of-6-migrate-the-apex-applications/' title='Dirt Cheap Oracle step #6 of 6: Migrate the Apex applications'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/8209359371224125592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/dirt-cheap-oracle-step-6-of-6-migrate_27.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/8209359371224125592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/8209359371224125592'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/dirt-cheap-oracle-step-6-of-6-migrate_27.html' title='Dirt Cheap Oracle step #6 of 6: Migrate the Apex applications'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-746109775410444699</id><published>2007-09-26T22:36:00.004+08:00</published><updated>2010-06-22T08:42:36.874+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dirt Cheap Oracle'/><title type='text'>Diagram: Dynamic DNS</title><summary type='text'>The link here is to a diagram that illustrates what I talked about in recent posts, how to set up a Dynamic DNS service and how the various IP addresses and ports relate to your router and devices connected to it.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/09/26/diagram-dynamic-dns/' title='Diagram: Dynamic DNS'/><link rel='enclosure' type='image/jpeg' href='http://members.iinet.net.au/~jkemp/networking/OpenWebServiceToInternet.jpg' length='0'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/746109775410444699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/diagram-dynamic-dns.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/746109775410444699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/746109775410444699'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/diagram-dynamic-dns.html' title='Diagram: Dynamic DNS'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-4433737243244181836</id><published>2007-09-25T06:44:00.005+08:00</published><updated>2010-06-22T08:43:27.323+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dirt Cheap Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>Dirt Cheap Oracle step #5(b) of 6: Making Apache and EPG Play Together</title><summary type='text'>I want people to get to both my Apache web server (port 8000) as well as Apex (port 8080) via the default HTTP port (80) through the router, but you can't map one port to two ports - otherwise, how is the router to know which port to pass requests on to? There's a good reason why I've chosen the web server to get all the traffic, and that's because I have an idea how to get Apache to pass traffic</summary><link rel='related' href='http://jeffkemponoracle.com/2007/09/24/dirt-cheap-oracle-step-5b-of-6-making-apache-and-epg-play-together/' title='Dirt Cheap Oracle step #5(b) of 6: Making Apache and EPG Play Together'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/4433737243244181836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/dirt-cheap-oracle-step-5b-of-6-making.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4433737243244181836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4433737243244181836'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/dirt-cheap-oracle-step-5b-of-6-making.html' title='Dirt Cheap Oracle step #5(b) of 6: Making Apache and EPG Play Together'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-4894226238287178187</id><published>2007-09-25T06:40:00.003+08:00</published><updated>2010-06-22T08:44:27.688+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dirt Cheap Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Dirt Cheap Oracle step #5(a) of 6: Port Forwarding &amp; DDNS</title><summary type='text'>I can access Apex from the Linux box, but not from my WinXP machine across the network. This is because the firewall in Linux by default blocks most ports. I've got Apex (using EPG) listening on port 8080, and Apache web server (for the static web pages and images) listening on port 8000, so I open up those two ports (System menu -&gt; Administration -&gt; Security Level &amp; Firewall).

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/09/24/dirt-cheap-oracle-step-5a-of-6-port-forwarding-ddns/' title='Dirt Cheap Oracle step #5(a) of 6: Port Forwarding &amp; DDNS'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/4894226238287178187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/dirt-cheap-oracle-step-5a-of-6-port.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4894226238287178187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4894226238287178187'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/dirt-cheap-oracle-step-5a-of-6-port.html' title='Dirt Cheap Oracle step #5(a) of 6: Port Forwarding &amp; DDNS'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-3652085993729465382</id><published>2007-09-21T20:20:00.002+08:00</published><updated>2010-06-22T08:44:59.482+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle XE'/><category scheme='http://www.blogger.com/atom/ns#' term='Dirt Cheap Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>Dirt Cheap Oracle steps #3 &amp; #4 of 6: Install Oracle XE and Apex 3.0</title><summary type='text'>Ok kids, play time is over, it's time to install Oracle, upgrade Apex and then turn out the lights for a good night's sleep. After double-checking that they haven't released 11g XE yet :(, I download Oracle XE 10gR2, as well as Apex 3.0 for good measure (no Apex 4.0 yet either...).

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/09/21/dirt-cheap-oracle-steps-3-4-of-6-install-oracle-xe-and-apex-3-0/' title='Dirt Cheap Oracle steps #3 &amp; #4 of 6: Install Oracle XE and Apex 3.0'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/3652085993729465382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/dirt-cheap-oracle-steps-3-4-of-6.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/3652085993729465382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/3652085993729465382'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/dirt-cheap-oracle-steps-3-4-of-6.html' title='Dirt Cheap Oracle steps #3 &amp; #4 of 6: Install Oracle XE and Apex 3.0'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-1450903412666292535</id><published>2007-09-20T21:37:00.002+08:00</published><updated>2010-06-22T08:45:27.840+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dirt Cheap Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Dirt Cheap Oracle step #2 of 6: Install Linux</title><summary type='text'>Ok, I've got all the hardware I need (took a few minutes with a vacuum cleaner to carefully suck out as much of the dust that was caked in there), and hooked it all up. The computer starts up ok, but it needs an OS - the hard disk was wiped clean of all government secrets, as expected.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/09/20/dirt-cheap-oracle-step-2-of-6-install-linux/' title='Dirt Cheap Oracle step #2 of 6: Install Linux'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/1450903412666292535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/dirt-cheap-oracle-step-2-of-6-install.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1450903412666292535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/1450903412666292535'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/dirt-cheap-oracle-step-2-of-6-install.html' title='Dirt Cheap Oracle step #2 of 6: Install Linux'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-8617216734987742891</id><published>2007-09-19T18:09:00.003+08:00</published><updated>2010-06-22T08:46:14.300+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dirt Cheap Oracle'/><title type='text'>Dirt Cheap Oracle step #1 of 6: The Machine</title><summary type='text'>My main computer, used by my wife as well, runs XP and I want to remove Oracle from it because it takes too long to boot up, and Oracle can suffer when I run CPU-intensive applications on it.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/09/19/dirt-cheap-oracle-step-1-of-6-the-machine/' title='Dirt Cheap Oracle step #1 of 6: The Machine'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/8617216734987742891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/dirt-cheap-oracle-step-1-of-6-machine.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/8617216734987742891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/8617216734987742891'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/dirt-cheap-oracle-step-1-of-6-machine.html' title='Dirt Cheap Oracle step #1 of 6: The Machine'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-8965885635440214557</id><published>2007-09-18T21:01:00.002+08:00</published><updated>2010-06-22T08:46:41.637+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle XE'/><category scheme='http://www.blogger.com/atom/ns#' term='Dirt Cheap Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>Dirt Cheap Oracle</title><summary type='text'>Seeing how Oracle XE and Linux is free, I want to see for just a minimum of outlay I could get a working database and web server running. I am also keen to give Linux a try; I've been a Windows user ever since my dad upgraded his computer from MS-DOS 3.3 to Windows 3.1, and while I've always worked for companies that used Unix I've never really had to learn much about it.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/09/18/dirt-cheap-oracle/' title='Dirt Cheap Oracle'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/8965885635440214557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/dirt-cheap-oracle.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/8965885635440214557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/8965885635440214557'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/dirt-cheap-oracle.html' title='Dirt Cheap Oracle'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-8216554887897674226</id><published>2007-09-09T07:58:00.001+08:00</published><updated>2010-06-22T13:38:19.736+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>Which Apex am I logging into?</title><summary type='text'>I've got two computers at home both running Apex, and when I log into Apex the page looks exactly the same - except for the IP address in the URL, which is just slightly different. If you're forgetful like me it's easy to confuse which machine I'm logged in to.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/09/08/which-apex-am-i-logging-into/' title='Which Apex am I logging into?'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/8216554887897674226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/which-apex-am-i-logging-into.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/8216554887897674226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/8216554887897674226'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/09/which-apex-am-i-logging-into.html' title='Which Apex am I logging into?'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-5258636753764768155</id><published>2007-08-24T08:39:00.003+08:00</published><updated>2010-06-21T14:49:09.607+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><title type='text'>Un-riching Rich Text Format</title><summary type='text'>Let's just call it Legacy because I'm not going to say what the source is. It is a single-user desktop application that after a little investigation (i.e. searching the online forum for the app) was found to be storing its data in tables readable by MS Access. I wanted to get at this data, analyze it, maybe do some smart things to it, and then present it via Apex.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/08/24/un-riching-rich-text-format/' title='Un-riching Rich Text Format'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/5258636753764768155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/08/un-riching-rich-text-format.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5258636753764768155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5258636753764768155'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/08/un-riching-rich-text-format.html' title='Un-riching Rich Text Format'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-2779435639947192536</id><published>2007-08-08T13:09:00.002+08:00</published><updated>2010-06-22T13:40:55.801+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>(my prized possession is a Potion of Confusion +1...)</title><summary type='text'>For you Oracle + D&amp;D/RPG fans out there...

"Among my possesions was a +1 Ring of tuning..."

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/08/08/my-prized-possession-is-a-potion-of-confusion-1/' title='(my prized possession is a Potion of Confusion +1...)'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/2779435639947192536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/08/my-prized-possession-is-potion-of.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/2779435639947192536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/2779435639947192536'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/08/my-prized-possession-is-potion-of.html' title='(my prized possession is a Potion of Confusion +1...)'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-7712703944113035282</id><published>2007-07-17T11:54:00.002+08:00</published><updated>2010-06-22T13:41:22.416+08:00</updated><title type='text'>Do you know the difference between USER_TAB_COLS &amp; USER_TAB_COLUMNS?</title><summary type='text'>I just noticed the difference - I was wondering why I couldn't see the virtual columns (i.e. columns that support function-based indexes) on a table, and it was because I was querying USER_TAB_COLUMNS.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/07/17/do-you-know-the-difference-between-user_tab_cols-user_tab_columns/' title='Do you know the difference between USER_TAB_COLS &amp; USER_TAB_COLUMNS?'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/7712703944113035282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/07/do-you-know-difference-between.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/7712703944113035282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/7712703944113035282'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/07/do-you-know-difference-between.html' title='Do you know the difference between USER_TAB_COLS &amp; USER_TAB_COLUMNS?'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-5839181127112986613</id><published>2007-07-04T14:23:00.001+08:00</published><updated>2010-06-22T13:41:47.011+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>Replace the default XDB welcome page</title><summary type='text'>I was annoyed that to get to my main PL/SQL page I have to type in a full URL like this:

http://host:7777/mydad/home

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/07/04/replace-the-default-xdb-welcome-page/' title='Replace the default XDB welcome page'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/5839181127112986613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/07/replace-default-xdb-welcome-page.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5839181127112986613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5839181127112986613'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/07/replace-default-xdb-welcome-page.html' title='Replace the default XDB welcome page'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-5173354219091862141</id><published>2007-07-02T15:53:00.006+08:00</published><updated>2010-06-22T13:42:13.501+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>Apex 3.0 via Embedded PL/SQL Gateway</title><summary type='text'>I managed to get Apex 3.0 working on Oracle 10.2.0.1 using the embedded PL/SQL gateway (i.e. without installing Apache), contrary to the advice given here. I used apex_epg_config instead of apex_epg_config11. For it to work, however, I had to remove some security on XDB so it's not a recommended option.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/07/02/apex-3-0-via-embedded-plsql-gateway/' title='Apex 3.0 via Embedded PL/SQL Gateway'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/5173354219091862141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/07/apex-30-via-embedded-plsql-gateway.html#comment-form' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5173354219091862141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/5173354219091862141'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/07/apex-30-via-embedded-plsql-gateway.html' title='Apex 3.0 via Embedded PL/SQL Gateway'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-4929547671681343104</id><published>2007-06-28T08:25:00.003+08:00</published><updated>2010-06-22T13:42:43.509+08:00</updated><title type='text'>The State Of My Blog</title><summary type='text'>I've had a few blogs in my head the last few months but haven't had a chance to write them up. This is partly affected by the release cycle at work, and some extra-curricular volunteer work, but mostly by the birth of our second child.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/06/28/the-state-of-my-blog/' title='The State Of My Blog'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/4929547671681343104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/06/state-of-my-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4929547671681343104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4929547671681343104'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/06/state-of-my-blog.html' title='The State Of My Blog'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-6325484936927383569</id><published>2007-06-22T09:42:00.002+08:00</published><updated>2010-06-22T13:43:06.687+08:00</updated><title type='text'>ZFS/Oracle</title><summary type='text'>Pooled storage, transactional control, snapshots... sounds awfully familiar to me. Oh yeah, features that Oracle have provided in the database for years. :)

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/06/22/zfsoracle/' title='ZFS/Oracle'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/6325484936927383569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/06/zfsoracle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/6325484936927383569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/6325484936927383569'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/06/zfsoracle.html' title='ZFS/Oracle'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-4654883818141781559</id><published>2007-06-12T06:32:00.002+08:00</published><updated>2010-06-22T13:43:32.917+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>"Applications Developer: Soccer or Tetrinet skills desirable"</title><summary type='text'>"Applications Developer - desirable skills: Soccer or Tetrinet"

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/06/11/applications-developer-soccer-or-tetrinet-skills-desirable/' title='&quot;Applications Developer: Soccer or Tetrinet skills desirable&quot;'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/4654883818141781559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/06/applications-developer-soccer-or.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4654883818141781559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/4654883818141781559'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/06/applications-developer-soccer-or.html' title='&quot;Applications Developer: Soccer or Tetrinet skills desirable&quot;'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-7665285451484674659</id><published>2007-03-30T17:16:00.004+08:00</published><updated>2010-06-22T13:43:45.551+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><title type='text'>ORA-06502: PL/SQL: numeric or value error: Bulk bind: Error in define</title><summary type='text'>I came across an inexplicable error when bulk collecting into a PL/SQL table with the NOT NULL constraint the other day. What was confusing was that the code had been passing tests for quite some time.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2007/03/30/ora-06502-plsq…rror-in-define/' title='ORA-06502: PL/SQL: numeric or value error: Bulk bind: Error in define'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/7665285451484674659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/03/ora-06502-plsql-numeric-or-value-error.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/7665285451484674659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/7665285451484674659'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2007/03/ora-06502-plsql-numeric-or-value-error.html' title='ORA-06502: PL/SQL: numeric or value error: Bulk bind: Error in define'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-116463322482786145</id><published>2006-11-27T21:10:00.002+08:00</published><updated>2010-06-22T13:44:16.338+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><title type='text'>Table Types Supplied by Oracle</title><summary type='text'>This is a list of all the table types I've found in Oracle-supplied packages, e.g. OWA_UTIL in 10g supplies the type:
TYPE datetype IS TABLE OF varchar2(10) INDEX BY binary_integer;

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/11/27/table-types-supplied-by-oracle/' title='Table Types Supplied by Oracle'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/116463322482786145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/11/table-types-supplied-by-oracle.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116463322482786145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116463322482786145'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/11/table-types-supplied-by-oracle.html' title='Table Types Supplied by Oracle'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-116401579299403035</id><published>2006-11-20T17:40:00.001+08:00</published><updated>2010-06-22T13:44:41.220+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code Snippet Of The Day'/><title type='text'>Mood Swings</title><summary type='text'>An interesting column comment encountered.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/11/20/mood-swings/' title='Mood Swings'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/116401579299403035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/11/mood-swings.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116401579299403035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116401579299403035'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/11/mood-swings.html' title='Mood Swings'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-116307393041186412</id><published>2006-11-09T20:02:00.001+08:00</published><updated>2010-06-22T13:45:04.221+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><title type='text'>AUSOUG Conference 2006 over</title><summary type='text'>Another enjoyable conference. I've attended it every year since 2000 and this year's was packed with presentations. Over 300 attendees spread over up to six presentations meant less crowding, I think; although as always there were a few packed sessions.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/11/09/ausoug-conference-2006-over/' title='AUSOUG Conference 2006 over'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/116307393041186412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/11/ausoug-conference-2006-over.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116307393041186412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116307393041186412'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/11/ausoug-conference-2006-over.html' title='AUSOUG Conference 2006 over'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-116286961524224279</id><published>2006-11-07T11:15:00.001+08:00</published><updated>2010-06-22T13:45:29.302+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code Snippet Of The Day'/><title type='text'>Generic Audit</title><summary type='text'>Looking at the column comments on this table, I can sympathise with the poor soul who after painstakingly describing 100 columns just decided that it just wasn't worth it...

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/11/07/generic-audit/' title='Generic Audit'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/116286961524224279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/11/generic-audit.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116286961524224279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116286961524224279'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/11/generic-audit.html' title='Generic Audit'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-116199393764004419</id><published>2006-10-28T08:01:00.001+08:00</published><updated>2010-06-22T13:45:49.799+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Developer'/><title type='text'>SQL Developer Wish List</title><summary type='text'>I'm starting to come around to Oracle SQL Developer. At home I only use free software so that's obviously a big plus, but at work I'm still using PL/SQL Developer (Allround Automations) and SQL*Plus.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/10/28/sql-developer-wish-list/' title='SQL Developer Wish List'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/116199393764004419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/10/sql-developer-wish-list.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116199393764004419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116199393764004419'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/10/sql-developer-wish-list.html' title='SQL Developer Wish List'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-116199365890866240</id><published>2006-10-28T07:59:00.004+08:00</published><updated>2010-06-22T13:46:16.684+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Developer'/><title type='text'>Lost SQL Developer Connections</title><summary type='text'>I upgraded Oracle SQL Developer from 1.0.14.67 to 1.0.15.27, just for the heck of it. Unfortunately, all my saved connections had disappeared!

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/10/27/lost-sql-developer-connections/' title='Lost SQL Developer Connections'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/116199365890866240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/10/lost-sql-developer-connections.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116199365890866240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116199365890866240'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/10/lost-sql-developer-connections.html' title='Lost SQL Developer Connections'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-116178193512891394</id><published>2006-10-25T18:52:00.004+08:00</published><updated>2010-06-22T13:46:26.181+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>APEX Tip: Page Auto Refresh</title><summary type='text'>This tip provides your users with the option of choosing a refresh interval for the page. The following steps were tested with Apex version 2.2 but should work on earlier versions of Apex or HTMLDB.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/10/25/apex-tip-page-auto-refresh/' title='APEX Tip: Page Auto Refresh'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/116178193512891394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/10/apex-tip-page-auto-refresh.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116178193512891394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116178193512891394'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/10/apex-tip-page-auto-refresh.html' title='APEX Tip: Page Auto Refresh'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-116164344379923419</id><published>2006-10-24T06:40:00.001+08:00</published><updated>2010-06-22T13:46:46.990+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><title type='text'>AUSOUG 2006 Perth Conference update</title><summary type='text'>Noticed that the final conference programme is now available. Unfortunately I don't have a laptop so I can't attend some of the hands-on sessions.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/10/23/ausoug-2006-perth-conference-update/' title='AUSOUG 2006 Perth Conference update'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/116164344379923419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/10/ausoug-2006-perth-conference-update.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116164344379923419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116164344379923419'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/10/ausoug-2006-perth-conference-update.html' title='AUSOUG 2006 Perth Conference update'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-116164323011927865</id><published>2006-10-24T06:39:00.001+08:00</published><updated>2010-06-22T13:47:16.231+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>Learning APEX</title><summary type='text'>I've been enjoying learning Oracle APEX the last few weeks, and have started to appreciate the depth of the product - there's more than meets the eye.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/10/23/learning-apex/' title='Learning APEX'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/116164323011927865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/10/learning-apex.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116164323011927865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/116164323011927865'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/10/learning-apex.html' title='Learning APEX'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-115649968378197208</id><published>2006-08-25T17:50:00.001+08:00</published><updated>2010-06-22T13:47:39.977+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><title type='text'>AUSOUG National Conference 2006</title><summary type='text'>Just read the latest draft timetable, looks like there's going to be some very interesting presentations this year. It looks a lot bigger than before, mainly because of the merger with Apps.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/08/25/ausoug-national-conference-2006/' title='AUSOUG National Conference 2006'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/115649968378197208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/08/ausoug-national-conference-2006.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/115649968378197208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/115649968378197208'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/08/ausoug-national-conference-2006.html' title='AUSOUG National Conference 2006'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-115335631762418136</id><published>2006-07-20T08:39:00.003+08:00</published><updated>2010-06-22T13:49:07.921+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Forms'/><title type='text'>Beware the wily SHOW_ALERT</title><summary type='text'>What is the return value of SHOW_ALERT if the user doesn’t click one of the available buttons?

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/07/20/beware-the-wily-show_alert/' title='Beware the wily SHOW_ALERT'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/115335631762418136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/07/beware-wily-showalert.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/115335631762418136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/115335631762418136'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/07/beware-wily-showalert.html' title='Beware the wily SHOW_ALERT'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-115043361336609586</id><published>2006-06-16T12:49:00.002+08:00</published><updated>2010-06-22T13:50:32.965+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Forms'/><title type='text'>PL/SQL Maintenance Nightmares (Learning to avoid…)</title><summary type='text'>I've worked on some new PL/SQL packages and Forms which work quite well. They are efficient in their use of resources, and are easy for me to debug and maintain. After some other developers have had to do some changes (some from changes to requirements, some from bugs I didn’t find), I've learned that the highly modular style of code I use is difficult to modify without introducing new bugs.

[</summary><link rel='related' href='http://jeffkemponoracle.com/2006/06/16/plsql-maintenance-nightmares-learning-to-avoid%e2%80%a6/' title='PL/SQL Maintenance Nightmares (Learning to avoid…)'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/115043361336609586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/06/plsql-maintenance-nightmares-learning.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/115043361336609586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/115043361336609586'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/06/plsql-maintenance-nightmares-learning.html' title='PL/SQL Maintenance Nightmares (Learning to avoid…)'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-114680344564567643</id><published>2006-05-05T12:23:00.001+08:00</published><updated>2010-06-22T13:51:50.104+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Code Snippet Of The Day'/><title type='text'>Fun with copy-and-paste code</title><summary type='text'>Came across this in a form (6i) to be run on a 9i db. Not only is this code about 33 lines of code too long and issues any number of unnecessary database queries, its name is quite unrelated to its intended function.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/05/05/fun-with-copy-and-paste-code/' title='Fun with copy-and-paste code'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/114680344564567643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/05/fun-with-copy-and-paste-code.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/114680344564567643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/114680344564567643'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/05/fun-with-copy-and-paste-code.html' title='Fun with copy-and-paste code'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-114482992562287838</id><published>2006-04-12T16:08:00.001+08:00</published><updated>2010-06-22T13:53:15.284+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Generating test data that matches existing data</title><summary type='text'>I've had to create test data a number of times, including data for tables that had mandatory foreign keys to existing tables. It was not feasible to just create new master rows for my test data; I wanted to refer to a random sample of existing data; but the code that generates the test data had to perform reasonably well, even though it had to pick out some random values from a very large table.
</summary><link rel='related' href='http://jeffkemponoracle.com/2006/04/12/generating-test-data-that-matches-existing-data/' title='Generating test data that matches existing data'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/114482992562287838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/04/generating-test-data-that-matches.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/114482992562287838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/114482992562287838'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/04/generating-test-data-that-matches.html' title='Generating test data that matches existing data'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-114266341953047586</id><published>2006-03-18T14:28:00.002+08:00</published><updated>2010-06-21T14:47:13.721+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code Snippet Of The Day'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>"BULK COLLECT and FORALL are faster than cursor processing"</title><summary type='text'>Seen in the wild:
SELECT ROWID
BULK COLLECT INTO t_rowids
FROM   my_table
WHERE  ...
FOR UPDATE NOWAIT;

IF t_rowids.COUNT &gt; 0 THEN
FORALL i IN t_rowids.FIRST..t_rowids.LAST
DELETE FROM my_table
WHERE ROWID = t_rowids(i);
END IF;
[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/03/18/bulk-collect-a…sor-processing/' title='&quot;BULK COLLECT and FORALL are faster than cursor processing&quot;'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/114266341953047586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/03/bulk-collect-and-forall-are-faster.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/114266341953047586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/114266341953047586'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/03/bulk-collect-and-forall-are-faster.html' title='&quot;BULK COLLECT and FORALL are faster than cursor processing&quot;'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-114043377679881537</id><published>2006-02-20T19:02:00.001+08:00</published><updated>2010-06-22T13:53:44.342+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Quick Quiz - Sequence NEXTVAL and CURRVAL</title><summary type='text'>Answer this in your head before trying it out or looking it up. Assume the following script is run in a single session on an Oracle database...

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/02/20/quick-quiz-sequence-nextval-and-currval/' title='Quick Quiz - Sequence NEXTVAL and CURRVAL'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/114043377679881537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/02/quick-quiz-sequence-nextval-and.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/114043377679881537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/114043377679881537'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/02/quick-quiz-sequence-nextval-and.html' title='Quick Quiz - Sequence NEXTVAL and CURRVAL'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-114000801043231519</id><published>2006-02-15T20:52:00.001+08:00</published><updated>2010-06-22T13:54:04.394+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle docs'/><title type='text'>Oracle 101: The (Very) Basics</title><summary type='text'>Oracle Database SQL Reference 10g Release 1 (10.1): Datatype Comparison Rules - Numeric Values

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/02/15/oracle-101-the-very-basics/' title='Oracle 101: The (Very) Basics'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/114000801043231519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/02/oracle-101-very-basics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/114000801043231519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/114000801043231519'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/02/oracle-101-very-basics.html' title='Oracle 101: The (Very) Basics'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-113964474918464370</id><published>2006-02-11T15:52:00.001+08:00</published><updated>2010-06-22T13:54:28.335+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>And you thought OR was commutative...</title><summary type='text'>I came across this at dbdebunk (ON THE NOTHING THAT’S WRONG WITH NULLS with Hugh Darwen, Fabian Pascal). Couldn't let that go so I tested it under 9i (9.1) and 10g (10.2) and got identical results. The last two statements are logically equivalent, but gives different results!

[Full Article]</summary><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/113964474918464370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/02/and-you-thought-or-was-commutative.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/113964474918464370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/113964474918464370'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/02/and-you-thought-or-was-commutative.html' title='And you thought OR was commutative...'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-113964256261513959</id><published>2006-02-11T15:19:00.001+08:00</published><updated>2010-06-22T13:54:57.245+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><title type='text'>Is this code actually unreachable?</title><summary type='text'>PL/SQL User's Guide and Reference (10.2): "4 Using PL/SQL Control Structures - Using the NULL Statement"

"...Note that the use of the NULL statement might raise an unreachable code warning if warnings are enabled."
/
[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/02/11/is-this-code-actually-unreachable/' title='Is this code actually unreachable?'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/113964256261513959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/02/is-this-code-actually-unreachable.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/113964256261513959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/113964256261513959'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/02/is-this-code-actually-unreachable.html' title='Is this code actually unreachable?'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-113964209696666402</id><published>2006-02-11T15:11:00.001+08:00</published><updated>2010-06-22T13:55:23.781+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle docs'/><title type='text'>Did you know that NULL is a "Boolean value"? Hmmm...</title><summary type='text'>PL/SQL User's Guide and Reference (9.2 and 10.2): "NULL Statement"

"The NULL statement and Boolean value NULL are unrelated."
[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/02/11/did-you-know-that-null-is-a-boolean-value-hmmm/' title='Did you know that NULL is a &quot;Boolean value&quot;? Hmmm...'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/113964209696666402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/02/did-you-know-that-null-is-boolean.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/113964209696666402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/113964209696666402'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/02/did-you-know-that-null-is-boolean.html' title='Did you know that NULL is a &quot;Boolean value&quot;? Hmmm...'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-113949350810886346</id><published>2006-02-09T21:56:00.002+08:00</published><updated>2010-06-22T13:55:39.551+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle docs'/><title type='text'>'' = empty string and/or NULL...</title><summary type='text'>How many times have you seen '' used for a NULL string?

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/02/09/empty-string-andor-null/' title='&apos;&apos; = empty string and/or NULL...'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/113949350810886346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/02/empty-string-andor-null.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/113949350810886346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/113949350810886346'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/02/empty-string-andor-null.html' title='&apos;&apos; = empty string and/or NULL...'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-113814574974474229</id><published>2006-01-25T07:30:00.001+08:00</published><updated>2010-06-22T13:56:03.066+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Simplify your SQL - Avoid Unnecessary Joins</title><summary type='text'>Simplify your SQL - Avoid Unnecessary Joins

I can't count how many times I've seen SQL like the following:

SELECT b.some_column
FROM   a, b
WHERE  a.id = :p_id
AND    b.id = a.id;

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2006/01/24/simplify-your-sql-avoid-unnecessary-joins/' title='Simplify your SQL - Avoid Unnecessary Joins'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/113814574974474229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/01/simplify-your-sql-avoid-unnecessary.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/113814574974474229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/113814574974474229'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2006/01/simplify-your-sql-avoid-unnecessary.html' title='Simplify your SQL - Avoid Unnecessary Joins'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-113373732092497664</id><published>2005-12-05T06:54:00.001+08:00</published><updated>2010-06-22T13:56:23.989+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Small SAMPLE bug in Oracle 9i (ORA-30561)</title><summary type='text'>If you're using the SAMPLE clause in Oracle 9i, in combination with a join, be aware of this small gotcha. I found a workaround, thankfully.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2005/12/04/small-sample-bug-in-oracle-9i-ora-30561/' title='Small SAMPLE bug in Oracle 9i (ORA-30561)'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/113373732092497664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/12/small-sample-bug-in-oracle-9i-ora.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/113373732092497664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/113373732092497664'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/12/small-sample-bug-in-oracle-9i-ora.html' title='Small SAMPLE bug in Oracle 9i (ORA-30561)'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-113012702311593420</id><published>2005-10-24T12:05:00.001+08:00</published><updated>2010-06-22T13:57:21.934+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Avoiding Lost Updates'/><title type='text'>Avoiding Lost Updates #3: The Solution</title><summary type='text'>Background: see my earlier posts Avoiding Lost Updates
and Avoiding Lost Updates #2: Updateable Views

I've discussed this problem with my colleagues and have come up with a number of potential solutions, one of which we believe is bulletproof.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2005/10/24/avoiding-lost-updates-3-the-solution/' title='Avoiding Lost Updates #3: The Solution'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/113012702311593420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/avoiding-lost-updates-3-solution.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/113012702311593420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/113012702311593420'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/avoiding-lost-updates-3-solution.html' title='Avoiding Lost Updates #3: The Solution'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-112988951907750684</id><published>2005-10-21T18:08:00.001+08:00</published><updated>2010-06-22T13:57:58.571+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Avoiding Lost Updates'/><title type='text'>Avoiding Lost Updates #2: Updateable Views</title><summary type='text'>This is a followup to my earlier post "Avoiding Lost Updates: Protecting Data in a Multi-user environment".

In this post I'll talk about how this problem can be solved when you're creating updateable views.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2005/10/21/avoiding-lost-updates-2-updateable-views/' title='Avoiding Lost Updates #2: Updateable Views'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/112988951907750684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/avoiding-lost-updates-2-updateable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/112988951907750684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/112988951907750684'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/avoiding-lost-updates-2-updateable.html' title='Avoiding Lost Updates #2: Updateable Views'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-112987605406158009</id><published>2005-10-21T14:15:00.003+08:00</published><updated>2010-06-21T14:51:32.688+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Avoiding Lost Updates'/><title type='text'>Avoiding Lost Updates: Protecting Data in a Multi-user environment</title><summary type='text'>There is a particular problem with Oracle and other databases where access to data is not serialized (by default), and there are a number of ways this problem is generally dealt with. The problem crops up when you have many users, some of whom may wish to update the same data at around the same time.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2005/10/21/avoiding-lost-updates-protecting-data-in-a-multi-user-environment/' title='Avoiding Lost Updates: Protecting Data in a Multi-user environment'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/112987605406158009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/avoiding-lost-updates-protecting-data.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/112987605406158009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/112987605406158009'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/avoiding-lost-updates-protecting-data.html' title='Avoiding Lost Updates: Protecting Data in a Multi-user environment'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-112971061118771521</id><published>2005-10-19T16:26:00.003+08:00</published><updated>2010-06-21T14:45:32.062+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><title type='text'>User-named locks with DBMS_LOCK</title><summary type='text'>The application I'm working on involves a number of views that provide an interface between two databases that have quite different models. The views implement inserts, updates and deletes via Instead-of triggers.

On one of these views, the update trigger needs to actually do an update and an insert on the source table: it must update the existing row to mark it as "closed", and then insert a </summary><link rel='related' href='http://jeffkemponoracle.com/2005/10/19/user-named-locks-with-dbms_lock/' title='User-named locks with DBMS_LOCK'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/112971061118771521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/user-named-locks-with-dbmslock.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/112971061118771521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/112971061118771521'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/user-named-locks-with-dbmslock.html' title='User-named locks with DBMS_LOCK'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-112909441168025179</id><published>2005-10-12T13:13:00.001+08:00</published><updated>2010-06-22T13:59:09.998+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>SQL problem</title><summary type='text'>Came across this SQL problem in Eddie Awad's blog, where he gives a solution to a problem posted to the Oracle-l mailing list.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2005/10/12/sql-problem/' title='SQL problem'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/112909441168025179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/sql-problem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/112909441168025179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/112909441168025179'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/sql-problem.html' title='SQL problem'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-112892535299759903</id><published>2005-10-10T14:01:00.002+08:00</published><updated>2010-06-22T13:59:39.327+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Instead-of-Delete trigger problem</title><summary type='text'>In software development, quite often the problem you encounter has virtually nothing to do with the thing you're trying to do.

I'm creating some views which will provide an interface to a database. The views will have Instead-of triggers so that all DML will be passed to my own (packaged) procedures.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2005/10/10/instead-of-delete-trigger-problem/' title='Instead-of-Delete trigger problem'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/112892535299759903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/instead-of-delete-trigger-problem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/112892535299759903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/112892535299759903'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/instead-of-delete-trigger-problem.html' title='Instead-of-Delete trigger problem'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-112843377271659361</id><published>2005-10-04T21:36:00.002+08:00</published><updated>2010-06-22T14:00:01.616+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>Upgraded to HTMLDB 2.0</title><summary type='text'>Upgraded from 1.6. I've already done some playing on 2.0 on htmldb.oracle.com, already liked the little interface and management improvements.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2005/10/04/upgraded-to-htmldb-2-0/' title='Upgraded to HTMLDB 2.0'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/112843377271659361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/upgraded-to-htmldb-20.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/112843377271659361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/112843377271659361'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/upgraded-to-htmldb-20.html' title='Upgraded to HTMLDB 2.0'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17329758.post-112824460725854077</id><published>2005-10-02T16:57:00.003+08:00</published><updated>2010-06-22T14:00:26.742+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><title type='text'>Experimenting with Oracle</title><summary type='text'>I'll post here results from some experiments I'm doing with Oracle. I want to explore the implications and possible benefits of mapping a truly relational logical database model directly to the physical model.

[Full Article]</summary><link rel='related' href='http://jeffkemponoracle.com/2005/10/02/experimenting-with-oracle/' title='Experimenting with Oracle'/><link rel='replies' type='application/atom+xml' href='http://jeffkemponoracle.blogspot.com/feeds/112824460725854077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/experimenting-with-oracle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/112824460725854077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17329758/posts/default/112824460725854077'/><link rel='alternate' type='text/html' href='http://jeffkemponoracle.blogspot.com/2005/10/experimenting-with-oracle.html' title='Experimenting with Oracle'/><author><name>Jeffrey Kemp</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_CXzObjQv9MI/S64lXfm2k-I/AAAAAAAAAEI/89LfglYXL-U/s1600-R/b8f42ce2c9b12332185f96b8b8aaaada.png'/></author><thr:total>0</thr:total></entry></feed>
