View Single Post

   
  #5 (permalink)  
Old 04-29-2008, 08:26 PM
Dave Hughes
 
Posts: n/a
Default Re: Get "user" tables

WP wrote:

> On 29 Apr, 17:37, "Dave Hughes" <d...@waveform.plus.com> wrote:
> > WP wrote:

> [snip]
> >
> > Okay, you're using an "implicit" connection which means the Java
> > app is connecting as the user it's running under. If you wanted to
> > find out which tables a specific user has created you could do
> > something like:
> >
> > SELECT TABSCHEMA, TABNAME FROM SYSCAT.TABLES WHERE OWNER =
> > 'USERNAME'
> >
> > (If you're using DB2 v8 or below, user DEFINER instead of OWNER). To
> > find out which tables the currently connected user has created:
> >
> > SELECT TABSCHEMA, TABNAME FROM SYSCAT.TABLES WHERE OWNER = USER

>
> SELECT TABSCHEMA, TABNAME FROM SYSCAT.TABLES WHERE OWNER = USER; works
> just fine and I think I'm going to use that. Right now, the java
> program and the db2 database can be assumed to be running on the same
> machine but I'm thinking maybe I should reconfigure things so the java
> program has to specify username when connecting (and password maybe).
> Hmm.


Depends - if you can be sure the Java app will always be on the same
machine as the database I wouldn't bother adding username + password.
If there's a possibility the two will be separated at some point it'd
be worth it though.

> Thanks for the quick replies!
>
> [snip]
> >
> > BTW, don't use != for inequality - it's deprecated. <> is standard
> > SQL.

>
> Ah, thanks, I will remember that. First I tried "IS NOT" but that
> didn't work, heh.


Ah - IS and IS NOT are only used for testing for NULL ("col IS NULL",
"col IS NOT NULL"). "col = NULL" and "col <> NULL" aren't useful due to
the tri-state logic that SQL employs ... "col = NULL" always evaluates
to NULL, not TRUE or FALSE (and a NULL result is equivalent to FALSE in
things like WHERE clauses).

BTW - did you pop into the #db2 channel on Freenode asking about this?
Someone asked a very similar question (involved "IS NOT"),
unfortunately it was an hour before I noticed and they'd gone by then
(it's a pretty quiet channel - usually takes a while for people to
notice anyone's said something!). Anyway, if it was you, sorry I missed
it :-)


Cheers,

Dave.
Reply With Quote