Re: issuing insert preparedstatement queries with default values

Поиск
Список
Период
Сортировка
От Johnny Luong
Тема Re: issuing insert preparedstatement queries with default values
Дата
Msg-id 4B47EF53.6090404@trustcommerce.com
обсуждение исходный текст
Ответ на Re: issuing insert preparedstatement queries with default values  (dmp <danap@ttc-cmc.net>)
Ответы Re: issuing insert preparedstatement queries with default values  (Lew <noone@lwsc.ehost-services.com>)
Список pgsql-jdbc
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

dmp wrote:
|> -----BEGIN PGP SIGNED MESSAGE-----
|> Hash: SHA1
|>
|> Hi,
|>
|> Is there a way to use the DEFAULT per column value on an INSERT sql in
|> PG through the PreparedStatement JDBC API?  It'd be nice so that I don't
|> have to maintain a secondary list of PreparedStatements or a list of
|> default values maintained outside of the database definition.
|>
|> e.g:
|>
|> INSERT INTO foo (a, b) (?, ?)
|>
|> where b has a default value in the database and a is something that I
|> might set to some other value.
|>
|>
|> I'm using postgresql-8.3-603.jdbc4.jar against a 8.3 postgresql server.
|>
|> Thanks,
|> Johnny
|
|
| I know this may be not the appropriate approach, but when a user enters
| default I just skip the PrepareStatement value assignment for that field
| and set in the initial assignment as such. See example below.
|
| danap.
|
|
| --
| -- MyJSQLView SQL Dump
| -- Version: 3.06
| -- WebSite: http://myjsqlview.org
| --
| -- Host: 127.0.0.1
| -- Generated On: 2010.01.08 AD at 07:07:55 MST
| -- SQL version: PostgreSQL 8.3.3
| -- Database: key_tables
| --
|
| -- ------------------------------------------
|
| --
| -- Table structure for table "public"."key_table4"
| --
|
| CREATE TABLE "public"."key_table4" (
|    "avatar_id" integer DEFAULT 0 NOT NULL,
|    "user_id" integer DEFAULT 0 NOT NULL,
|    "bing_id" smallint DEFAULT 0 NOT NULL,
|    PRIMARY KEY ("avatar_id","user_id")
| );
|
| TableEntryForm addUpdateTableEntry() Connection Created
| INSERT INTO "public"."key_table4" ("avatar_id", "user_id", "bing_id")
| VALUES (?, ?, default)
| TableEntryForm addUpdateTableEntry() Connection Closed
|

The only issue with this approach I think is that I would probably have
to use a normal java.sql.Statement to perform the load and the actual
table I'm dealing with is a legacy table with 60+ columns, some of which
have defaults already in place.  I already explicitly setup the query
and set each individual parameter so I can avoid the reparsing efforts
but I'm having to actually take the defaults from the database and
putting them into the code...

Thanks for the help though.
Johnny Luong
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAktH71MACgkQnQTBLXttTeUY4QCfbaBr2jnsG3Fg6DUhWZmsu0wQ
ZmsAn3WwFdKFbVXOERURCekivEUCVGBf
=e606
-----END PGP SIGNATURE-----

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: dmp
Дата:
Сообщение: Re: issuing insert preparedstatement queries with default values
Следующее
От: Srinivas Gunnam
Дата:
Сообщение: Throwing NumberFormat exception for preparedStatement.setObjcet()