Re: Prepared statements and default values
От | Dave Cramer |
---|---|
Тема | Re: Prepared statements and default values |
Дата | |
Msg-id | 377962F9-1235-4413-94AA-3E2BCBA12B59@fastcrypt.com обсуждение исходный текст |
Ответ на | Re: Prepared statements and default values (Assad Jarrahian <jarraa@gmail.com>) |
Список | pgsql-jdbc |
Actually, I don't think not specifying the column will work. This works for insert, but not update. I don't think there is a way using JDBC, as you can't even use the keyword DEFAULT. The driver won't let you bind a string to a non- string parameter. Dave On 9-Jan-06, at 11:02 PM, Assad Jarrahian wrote: > thanks for your response David! > > Is that the only way, cause that surely does not seem easy when you > have say 20 columns, of which 15 have default values. > > given all the combinations (sometimes this set of column values is > needed to be default, otherwise another set .... and so on. > > Am I stuck with writing out all possible statements ...or is there > another way? > > thanks. > -assad > > > On 1/9/06, David Wall <d.wall@computer.org> wrote: >> You'll probably need to use two statements, so that when you want >> to use >> the default, you don't specify anything, and when you want a special >> value, you use the command you gave. >> >> If you want the default, use: >> >> UPDATE usersettings SET serverurl = ? where username = ? >> >> If you want to specify, then use: >> >> UPDATE usersettings SET gpsfrequency = ? , serverurl = ? where >> username = ? >> >> David >> >> >> Assad Jarrahian wrote: >> >>> I have a preparedStatement with the following query >>> "UPDATE usersettings SET gpsfrequency = ? , serverurl = ? where >>> username = ? ;"; >>> >>> In the db, the table userSettings has a default value specified for >>> gps_frequency . >>> >>> So when I write code >>> if (client.getSettings().getField >>> (Settings.GPS_FREQUENCY).compareTo(""))==0) >>> <what goes here> //pick up the default value from the db. >>> else >>> setUserSettings.setInt(++i, >>> Integer.parseInt(client.getSettings().getField >>> (Settings.GPS_FREQUENCY))); >>> >>> >>> <what goes here> .. I basically want to send something that lets the >>> db know to use the DEFAULT value. (its of type int0) >>> >>> So what does go here? >>> >>> any help would be much appreciated. >>> >>> -a >>> >>> ---------------------------(end of >>> broadcast)--------------------------- >>> TIP 2: Don't 'kill -9' the postmaster >>> >>> >>> >> >> ---------------------------(end of >> broadcast)--------------------------- >> TIP 6: explain analyze is your friend >> > > ---------------------------(end of > broadcast)--------------------------- > TIP 4: Have you searched our list archives? > > http://archives.postgresql.org >
В списке pgsql-jdbc по дате отправления: