Функция CurrVal возвращает значение null во встроенной базе данных Postgres

Я пытаюсь использовать функцию currVal во встроенной базе данных postgres, чтобы получить значение, которое я вставил в оператор вставки в том же сеансе. Пожалуйста, найдите приведенный ниже код для того же.

Определение таблицы учеников:

      CREATE TABLE student (
    id bigserial NOT NULL,
    name varchar(255) NOT NULL,
    number int8 NOT NULL,
);
CREATE TABLE student_course (
    student_id foreign_key references student(id),
    course_name varchar(255) NOT NULL
);

Запрос для вставки учащегося:

      insert into student (name,number)
values("Student1","55");

Запрос на получение столбца идентификатора:

      insert into student_course
select currval(pg_get_serial_sequence('student','id')), 'course1';

Оба запроса на вставку выполняются в одном сеансе, но я получаю нулевое значение при использовании функции currVal для получения вставленного идентификатора.

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

0 ответов

Другие вопросы по тегам