Как вернуть значение идентификатора при вставке записи с использованием ElevateDB
С SQL-сервером вы можете просто вернуть @@Identity
чтобы получить ID
значение последней вставки.
Есть ли способ сделать это с помощью elevatedb?
2 ответа
ElevateDB предоставляет функцию LASTIDENTITY, которая возвращает последнее значение идентификатора, назначенное указанному столбцу в указанной таблице.
SELECT LASTIDENTITY('Customer', 'CustNo') AS LastCustNo
Вы также можете получить ту же информацию, используя инструкцию INSERT.
EDBQuery1.SQL.Clear;
EDBQuery1.SQL.Add('INSERT INTO Table1 (ID, Text1)');
EDBQuery1.SQL.Add('VALUES(:ID, :Text1)');
EDBQuery1.Prepare;
EDBQuery1.ParamByName('Text1').AsString:='Some text';
EDBQuery1.ExecSQL;
ShowMessage(EDBQuery1.ParamByName('ID').AsString);
Операторы INSERT автоматически устанавливают все параметры на IN/OUT, так что любые сгенерированные / вычисленные значения столбцов (включая столбцы IDENTITY) могут быть получены с помощью тех же параметров после выполнения INSERT.
Приведенный выше пример взят с форума поддержки.
ElevateDB не поддерживает идентификационные или автоинкрементные типы столбцов. Таким образом, нет синтаксиса, как @@Identity
,