Noob SQL Вставка и выбор в одном запросе - PullRequest
1 голос
/ 28 марта 2012

Я пытаюсь понять, как выполнить один запрос SQL, который вставляет новую строку, а затем отображает вставку в качестве подтверждения.

Есть ли возможность сделать это в одном запросе SQL без использования подготовленных операторов или помещения его в java?

Это два запроса по отдельности:

Я использую Postgresбазы данных и PGadmin для выполнения запросов.

INSERT INTO Log (ID, LogType, Status, Priority, LoggedTime, UserID, ProblemID) 
VALUES (2, 'test', 'test', 3, '2012-03-1
4 10:30',  2, 1);

SELECT * FROM Log WHERE ID = 2;

edit: идентификатор вставляется каждый раз и не входит в последовательность

Ответы [ 2 ]

2 голосов
/ 28 марта 2012

Если ID является последовательностью, вы можете выбрать currval () для последовательности. Если нет, вы можете использовать предложение RETURNING на вашей INSERT. См http://www.postgresql.org/docs/current/static/sql-insert.html

1 голос
/ 28 марта 2012

Используйте предложение RETURNING:

INSERT INTO Log 
  (ID, LogType, Status, Priority, LoggedTime, UserID, ProblemID) 
VALUES 
  (2, 'test', 'test', 3, '2012-03-14 10:30',  2, 1)
RETURNING *;
...