У меня есть следующие хранимые процедуры:Необходимо восстановить BIGSERIAL «первичный ключ» значение из Informix хранимой процедуры
CREATE PROCEDURE eukno(pk BIGINT, requestee VARCHAR(20))
RETURNING BIGINT;
DEFINE eunid BIGINT;
INSERT INTO ent_uniq (eunid, eunreq) VALUES (pk, requestee);
RETURN eunid;
END PROCEDURE;
я получаю значение, вставленное в таблицу, но мне нужно значение первичного ключа eunid
быть возвращены для точного значения во время этой вставки. eunid
- первичный ключ BIGSERIAL
с начальным значением 9999000000, поэтому на моей первой вставке eunid
автоматизирует производство 9999000001 Хранимая процедура выполняется с параметрами (0, 'username'), а первичная автоматически увеличивается на единицу. Необходимо получить точную единую единицу во время вставки, так как многие пользователи запросят этот идентификатор за один момент.
Я изменил процедуру следующим образом: – chaos
СОЗДАТЬ ПРОЦЕДУРУ eukno (pk BIGINT) ВОЗВРАТ BIGINT; DEFINE eunid BIGINT; INSERT INTO ent_uniq (eunid) VALUES (pk); RETURN DBINFO ('serial8'); ПРОЦЕДУРА КОНЕЦ; – chaos
С этим изменением, однако, я все еще 0, значение вставки, которое я указал, а не фактическое значение, созданное базой данных. – chaos