Я пишу модульный тест для своих функций PostgreSQL. Это начинается с вставки данных в базу данных и последующего вызова определенной функции. Однако, поскольку я использую автоинкрементные идентификаторы, я не могу знать, какой параметр нужно включить в мой вызов функции.Использование переменных в скрипте SQL
Я хочу, чтобы иметь возможность сделать что-то вроде этого:
INSERT INTO myTable ...;
SELECT id FROM myTable INTO l_id;
SELECT my_function(l_id);
Обновления
- Я использую сценарий SQL, а не PL/PgSQL
- В MySQL я могу сделать это:
SELECT @id:=itemid FROM myTable;
, затем позже, я могу использовать@id
где угодно.
Если вы используете Java: см http://stackoverflow.com/questions/241003/how-to-get-a-value-from-the-last-insert-row Убедитесь, что вы используете драйвер JDBC 4. –
Проблема не в получении последнего ID (есть только один, поэтому проблем нет). Проблема заключается в том, как «ВЫБРАТЬ» значение и использовать его позже в скрипте. –
Храните его в таблице результатов и извлекайте его, когда вам это нужно? – wildplasser