SQL Serverを使用すると、最後に挿入@@Identity
した値を取得するために戻ることができます。ID
高架化されたbを使用してこれを行う方法はありますか?
ElevateDBは、指定されたテーブルの指定された列に割り当てられた最後のID値を返す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に設定するため、INSERTの実行後に、生成/計算された列値(IDENTITY列を含む)を同じパラメーターを介して取得できます。
上記の例は、サポートフォーラムからのものです。
ElevateDBは、IDまたは自動インクリメントの列タイプをサポートしていません。したがって、のような構文はありません@@Identity
。