CJ <spambox1@[EMAIL PROTECTED]
> writes:
[snip]
> No, dt, I type in the jist of the logic rather than cut/paste. After
> reading again the section, I found that adding "ON COMMIT PRESERVE
> ROWS," or as you noted turning off auto commit "corrects" my bug.
> Unfortunately, I also read that though the syntax is "declare GLOBAL
> tem****ary table" the table is not truly global, but specific to the
> connection from which it was created.
This limitation is imposed by the SQL standard AFAICT. In SQL all
tem****ary tables, local or global, are local to the session.
"... the contents of a _global_ tem****ary table or a created local
tem****ary table _cannot_ be shared between SQL sessions like the
contents of a persistent base table. In addition, the contents of a
created _local_ temparary table cannot be shared between modules or
embedded SQL programs in a single SQL session." (Understanding the new
SQL: A complete guide, Melton & Simon, 1993)
Don't ask me what "modules and embedded SQL programs" would be in the
context of JDBC :)
> I was looking to create that
> would not become part of the Java DB "database" and thus not exist
> when the JVM terminates abnormally. The data in the "tem****ary table"
> is truly tem****ary, but needed so long as the JVM is operating.
> However the tem****ary table data should not persist in the DB.
The tem****ary table disappears as soon as you close the connection. But
you cannot share the temp table with other connections, so if that is
what you need I guess you are out of luck :(
> Because of the limitations of "declare global tem****ary table" I will
> implement the table another way.
I'm sorry it doesn't work for you. Btw. the DECLARE GLOBAL TEM****ARY
syntax is not standard SQL. You can log that as a Java DB/Derby bug if
you want. See
http://db.apache.org/derby/DerbyBugGuidelines.html
--
dt
Questions about Derby/Java DB? Please visit
http://db.apache.org/derby/derby_mail.html


|