db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kristian Waagan <Kristian.Waa...@Sun.COM>
Subject Re: newbie question
Date Mon, 17 Dec 2007 22:30:45 GMT
Brad Berens wrote:
> First, thanks everyone for the responses.  Unfortunately I'm trying to 
> add derby support to a previously existing open source app and I'd 
> like to not have to rewrite the entire deployment code to do this.  As 
> a workaround, is it possible to force a particular return from derby 
> so that it won't throw an exception?  Could I get the effect I'm 
> looking for using a CASE WHEN?
Hello Brad,

What exactly are your requirements?
Can you for instance create a stored procedure to thandle the logic for 
you? This would require that you use a CallableStatement instead of a 
PreparedStatement (or a Statement), and that you install the stored 
procedure into the database. This is not a solution if you are looking 
for a portable way of doing this... The portable way would probably be 
to use the metadata calls, as already mentioned by Dyre.
I am not aware of any way to force Derby to not throw an exception.

When it comes to CASE WHEN, I don't think you can issue DDL operations 
as part of it.

I personally think handling the issue in the application is the easiest 
way of dealing with this, but maybe someone else has some smart ideas?

> On Dec 17, 2007 12:21 PM, Raymond Kroeker <raymond@raykroeker.com 
> <mailto:raymond@raykroeker.com>> wrote:
>     If your ultimate goal it to start over with a new schema; an
>     option is to rename/delete the directory within which the db exists.
>     Raymond Kroeker
>     On Dec 17, 2007 1:42 AM, < Dyre.Tjeldvoll@sun.com
>     <mailto:Dyre.Tjeldvoll@sun.com>> wrote:
>         Brad Berens < theg33k@gmail.com <mailto:theg33k@gmail.com>>
>         writes:
>         > I've googled for this but all I can find is create
>         statements so I'm hoping
>         > someone can just give me a quick answer.  I'm trying to
>         write some db
>         > creation scripts.  Normally in MSSQL I would use an if
>         exists from the
>         > system tables to check whether or not to run a drop before
>         creating the
>         > table.  I found the sys.systables info about derby, but I
>         can't seem to get
>         > the if clause working for that.
>         >
>         >
>         > IF EXISTS (SELECT * FROM sys.systables WHERE
>         tablename='[tablename]') DROP
>         > TABLE [tablename];
>         IF EXISTS is a non-std extension AFAICT. You can do this
>         portably by
>         using DatabaseMetaData.getTables(...). It is a bit more work
>         so you might
>         want to wrap it in a java method.
>         --
>         dt
>     -- 
>     ---------------------------------------------------------
>     Raymond Kroeker 

View raw message