Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как выбрать сгенерированное значение первичного ключа с помощью JDBC / 3 сообщений из 3, страница 1 из 1
08.11.2006, 10:47
    #34111207
MuadDib
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать сгенерированное значение первичного ключа с помощью JDBC
Создаю таблицу с sequence:

CREATE SEQUENCE foo_seq;
CREATE TABLE foo (
foo_id integer NOT NULL DEFAULT nextval('foo_seq'),
foo_name text,
PRIMARY KEY (foo_id)
);

В Java пишу:

Statement st = connection.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY
);
st.executeUpdate(
"insert into foo(foo_name) values('Alex')"
);

ResultSet rs = st.getGeneratedKeys();
if(rs.first()) {
System.out.println("The generated value of id: " + rs.getInt(1));
} else {
System.out.println("ResultSet is empty");
}

Выводится строка "ResultSet is empty".

Т.е. вопрос: как извлечь сгенерированное после вставки значение поля foo_id?
...
Рейтинг: 0 / 0
08.11.2006, 11:36
    #34111454
ZemA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать сгенерированное значение первичного ключа с помощью JDBC
MuadDibСоздаю таблицу с sequence:

CREATE SEQUENCE foo_seq;
CREATE TABLE foo (
foo_id integer NOT NULL DEFAULT nextval('foo_seq'),
foo_name text,
PRIMARY KEY (foo_id)
);

В Java пишу:

Statement st = connection.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY
);
st.executeUpdate(
"insert into foo(foo_name) values('Alex')"
);

ResultSet rs = st.getGeneratedKeys();
if(rs.first()) {
System.out.println("The generated value of id: " + rs.getInt(1));
} else {
System.out.println("ResultSet is empty");
}

Выводится строка "ResultSet is empty".

Т.е. вопрос: как извлечь сгенерированное после вставки значение поля foo_id?
на яве не писал, но может быть нужно вызывать не executeUpdate, а executeInsert например.
сгенерированное значение можно получить так
Код: plaintext
select currval('foo_seq');
...
Рейтинг: 0 / 0
08.11.2006, 12:41
    #34111806
st_serg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать сгенерированное значение первичного ключа с помощью JDBC
use google luke
http://gborg.postgresql.org/project/pgjdbc/bugs/bugupdate.php?984
:)
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как выбрать сгенерированное значение первичного ключа с помощью JDBC / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]