SQLサーバーでは、@@Identity
を返すだけで最後の挿入の値がID
になります。ElevateDBを使用してレコードを挿入するときにID値を返す方法
elevatedbを使用してこれを行う方法はありますか?
SQLサーバーでは、@@Identity
を返すだけで最後の挿入の値がID
になります。ElevateDBを使用してレコードを挿入するときにID値を返す方法
elevatedbを使用してこれを行う方法はありますか?
ElevateDBは、指定された表の指定された列に割り当てられた最後のID値を戻すLASTIDENTITY関数を提供します。
SELECT LASTIDENTITY('Customer', 'CustNo') AS LastCustNo
また、INSERT文を使用して、同じ情報を得ることができます。 INSERTが実行された後(IDENTITY列を含む)任意の生成/計算カラムの値が 同じパラメータを介して取得することができ ように自動的にIN /へのすべてのパラメータを設定
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ステートメント。
上記の例は、Support Forumです。
ElevateDBは、IDタイプまたは自動インクリメントカラムタイプをサポートしていません。したがって、@@Identity
のような構文はありません。
これは本当ですか? http://bit.ly/HZGvluとhttp://bit.ly/I0ogqsを参照してください。 – stukelly
@stukelly - あなたのリンクの1つがLASTIDENTITYを指しています。これを答えて、あなたが私の投票を得ます。 –
@stukellyあなたは正しいです、私は間違っています! –
ほとんどの場合、SQL ServerではSCOPE_IDENTITY()を使用する方がよいことに注意してください。 – Linas
@LinasそれはSELECT @@ IDENTITYのコンセプトで、私がミミックに興味を持っています。 –