Comments on: Why are there so few resuable PL/SQL components – Discussion triggered by presentation on PL/SQL Design Patterns Friends of Oracle and Java Wed, 24 Jun 2015 09:59:44 +0000 hourly 1 By: Bill Pribyl Fri, 23 Jun 2006 01:09:07 +0000 Reusable components, systems, and libraries are generally written in languages like Perl, Java, PHP, Python, Ruby, or even C…and those all have another thing in common that hasn’t yet been mentioned in this thread:

None are owned by a single vendor.

(One could argue that Java is owned by Sun, but our industry generally perceives Java as non-proprietary.)

My hypothesis is that proprietary languages like PL/SQL do not spawn reusable components “in the wild.” Programmers are not inspired to spend their free time on something that indirectly adds to the vendor’s bottom line. Also, in theory, the vendor could change or desupport the product in such a way that would break our code (not that I think that would really happen).

I wish I was wrong about this…but can anyone name a single proprietary language that has spawned public repositories of reusable components?

By: Karl Wed, 21 Jun 2006 07:37:15 +0000 Hi,
PL/SQL has a nice feature for real Reusablility – the package concept. A Modul with it’s own datatypes, public interface, and internal logic. Inheritance for example could make problems to reusablitly because of the misssing ineritance parent tree where the component should be located.

One reason i think weak PL/SQL Desing are it’s users, mostley DBA and data oriented developers with no vision of strong procedural/modular design (which isn’t the focus of their role).


By: Christopher Merry Mon, 12 Jun 2006 07:14:18 +0000 What a tremendous blog – such an incredibly long overdue topic! Perhaps like ANSI joins and the CASE statement, practices such as these will finally penetrate the Oracle world, albeit years after being accepted in other arenas. Better late than never I suppose, and I feel there have been strides taken by Oracle of late to aid in this movement. The recent release of two products, SQL Developer and Oracle Database 10g Express Edition, is further evidence that the company is finally interested and aware of the ever growing and important market of open source database application development. While the source code of the database in itself is not open to the world, the product does entail one essential aspect of open source products – its price. Free licensing, along with the newly released SQL Developer tool (unfortunately released with many bugs), stands to increase the appeal of Oracle application development and consequently PL/SQL. Furthermore, the ingenious move to cater to aftermarket, custom java extensions stands to increase the allure of the product exponentially. It is this step that I hope will bring the open source mentality to PL/SQL development and perhaps finally bring discovery of the true power of the open source community. I’m on board and ready for launch. So where do we go from here?

By: Alex Gorbachev Wed, 07 Jun 2006 23:01:32 +0000 Actually, I am really surprised that Oracle doesn’t encourage using PL/SQL as much as possible. Since any PL/SQL burns some CPU, active usage of PL/SQL generates pure profit for Oracle as main licensing scenario is per CPU.
On this basis I believe that using complex PL/SQL is quite expensive unless it saves a lot of runtime and/or various resources (human and hardware) compare to “remote” (i.e. not running on DB -tier) implementations.

By: Lucas Jellema Fri, 02 Jun 2006 15:03:18 +0000 Steven,

On QNXO: I was on the verge of mentioning it. Two things held me back: it is not free (though quite cheap) and for some reason that made he hesitate. Second of all: I really do not know enough about it, I am ashamed to admit. So what I did do, after posting the article but before you had a chance to react was ask two colleagues to make an investigation into QNXO, write a Weblog Article and prepare an internal presentation and workshop. The result of the latter will hopefully be a) good insight in what QNXO can do for us b) a lot of support from the developers in our company and c) the decision to actually acquire it and start using it. When we do so, we will definitely write about our experiences on the weblog.

I am looking forward to seeing you again at ODTUG later this month.


By: Marco Gralike Fri, 02 Jun 2006 02:03:59 +0000 Great post (me DBA ;=)

Maybe it is time, to post and share all those (>>100) sql scrips and other small jewels I created myself or do credit to those I borrowed from. Even the other day i tried to make a simple PL/SQL task as generic and modulair as possible so I could re-use it in the future.

Ahhh, but I am only a small DBA guy (pre-internet) – not so good as programmer guy, so maybe i shouldn’t share 😉

Keep up bringen such important issues. Good food for thought (and hopefully action)

By: steven feuerstein Thu, 01 Jun 2006 20:27:40 +0000 Dear Lucas,

Excellent essay! You raise important questions and offer some clues to answers. I sure don’t have a whole lot more of those.

Thanks for the mention of PL/Vision. It does remain the only PL/SQL library and that is just crazy!

I thought I would also suggest that readers check out Qnxo ( The name is awful, but the idea (and implementation) quite wonderful. Qnxo is essentially a design pattern factory and a repository for reusable code.

I won’t go on about it; I don’t want to overstay my welcome on your blog promoting my commercial products. But it *does* address a number of issues you raise.

Beyond that, I do think that there is a possiblity of creating a vibrant PL/SQL community. Perhaps we can chat at ODTUG in DC in a few weeks about some possible concrete next steps….