У меня есть таблица с именем BUILD_INFO
, и она имеет следующие столбцы:
BUILD_ID
BUILD_NAME
DATE
USER
BUILD_ID
— это поле автоинкремента, поэтому я не устанавливаю его при вставке. Это первичный ключ, который используется для связи этой строки в этой таблице с другими строками в других таблицах.
Когда я вставляю новую строку в таблицу BUILD_INFO
, я хочу знать установленную BUILD_ID
, чтобы я мог извлечь ее и использовать при добавлении строк в другие таблицы.
Я не могу запросить его по другим столбцам, потому что другие строки могут дублировать значения этих столбцов. Я не могу просто повторно запросить таблицу и получить самые большие BUILD_ID
, потому что другой пользователь мог вставить строку после меня. Было бы неплохо, если бы было что-то вроде Row Number
, с помощью которого я мог бы получать и запрашивать строки. Что-то подобное существует?
Я пишу свой скрипт на Perl, используя модуль DBI
, и моей базой данных может быть Oracle или MySql.
Как я могу получить информацию о строке, которую я только что вставил в SQL или с помощью модуля Perl DBI
?