Some of you may get this message for the second time, but as
I see there is some problem with one particular mail server
on the route, and this message didn't arrive back from the
list despite the fact that I sent it several days ago.
--------------------------------------------------
Subject: Re: [SQL] Checking for table existence
>
> CREATE FUNCTION my_function ( ...
>
> ....
> IF NOT table_exists(''my_table'') THEN
> CREATE TABLE ...
> END IF;
> ....
>
>
> Got the idea?
Not bad... Well, I am not the person questioned... But let me
share a few ideas about it.
The solution what I gave was a "more SQL way" of doing it. So after
creating the function qexec, you could write a long file, x.sql, like
... sql blabla...
... sql blabla...
CASE WHEN ...the table not exests... THEN qexec('the creator sql command')
END;
... sql blabla...
My experience is this is a quite universal style, if a company
would like to create an sql-database structure for a certain job.
Your solution is also based on functions, so the realization is quite
similar. But you have either write a function for every table creation,
or write an intelligent function, which gets HOW to create WHAT table...
My first idea was something like this, but later I thougth it is
"politically more correct" if I use only a very universal function,
what I called qexec.
Moreover, I can imagine that I would see happily this sql-executor
function in the base distribution, not only int the documentation,
as an example. It is quite a good example...
However, your solution is naturally a good and usable solution, please
do not treat this letter as an offensive letter. I only tried to argue
a bit for my way of thinking...
Thanks for reading this, if you reached this pont, :-))
Regads,
Baldvin