Возвратите значение от оператора вставки

Carbon расширяет класс PHP DateTime. Метод Carbon::parse в конечном итоге передает входной сигнал до DateTime::__construct, который анализирует его, как описано в Руководстве по PHP Поддерживаемые форматы даты и времени .

6
задан Maximillian 6 November 2008 в 23:01
поделиться

4 ответа

Некоторые возможности:

1) Используйте пункт ВОЗВРАТА:

INSERT INTO emp (empno, ename) VALUES (emp_seq.NEXTVAL, 'ANDREWS')
RETURNING empno INTO :variable;

2) Используйте последовательность CURRVAL:

INSERT INTO emp (empno, ename) VALUES (emp_seq.NEXTVAL, 'ANDREWS');
SELECT emp_seq.CURRVAL INTO :variable FROM DUAL;

CURRVAL возвращает последнее значение последовательности, сгенерированное Вашей сессией.

8
ответ дан 10 December 2019 в 00:46
поделиться

Oracle, кажется, имеет названный "возврат" keywod, который может возвратить данный столбец вставленной строки, однако который мог бы потребовать, чтобы Вы установили "автоинкрементное" поле вручную путем вызова следующего значения в последовательности.

Проверьте эту дискуссию об этом:

http://forums.oracle.com/forums/thread.jspa?threadID=354998

Однако можно всегда выбирать текущий порядковый номер во втором запросе, виде подобного MySQLs last_insert_id()

2
ответ дан 10 December 2019 в 00:46
поделиться

Сначала используйте оператор SELECT для получения следующей последовательности. Можно использовать Oracle двойная таблица, чтобы сделать это.

SELECT my_seq.nextval FROM dual

Используйте последовательность, которую Вы получили в последующих операторах INSERT.

INSERT ...
INSERT ...
0
ответ дан 10 December 2019 в 00:46
поделиться

Если это значение является ключом, база данных создает, Вы имеете, столкнулся с хорошим примером, почему необходимо использовать UUID в качестве ключа таблицы и генерировать их в коде.

Этот метод даст Вам более быструю производительность в Вашей установке.

0
ответ дан 10 December 2019 в 00:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: