sql >> データベース >  >> RDS >> Sqlserver

最後に挿入されたレコードの検索 MS SQL SERVER

    INSERT のリストを持っていると仮定して、ここのコメント要求に従って、迅速で汚い手動ソリューション 発行された INSERT と同じ順序のステートメント (または対応するデータ) 秒。この例では、100 万レコードを想定しています。

    INSERT ... VALUES (1, ...)
    ...
    INSERT ... VALUES (250000, ...)
    ...
    INSERT ... VALUES (500000, ...)
    ...
    INSERT ... VALUES (750000, ...)
    ...
    INSERT ... VALUES (1000000, ...)
      

    挿入された最後の PK を見つけるだけです。幸いなことに、この場合は 1 つあります。したがって、発行するテーブルで手動バイナリ検索を開始します

    SELECT pk FROM myTable WHERE pk = 500000
      

    列が戻ってきた場合、それがこれまでに達成されたことがわかります。 pk = 750000 でチェックを続けます . pk = 875000 である場合 . 750000 がない場合、INSERT s は以前に停止している必要があります。次に、pk = 675000 を確認します .この場合、このプロセスは 20 ステップ後に停止します。

    単純な手作業による分割統治です。



    1. MySQL:左結合と右結合の結合

    2. OracleSQLDeveloperはデータベースを段階的にコピーします

    3. CROSSJOIN条件が'ON'句で機能せず、WHERE句でのみ機能するのはなぜですか?

    4. SQLServer2019エディションについての考え