1. ホーム
  2. sql

SQL Server のテーブルから WHERE 条件なしで「最初の」レコードを削除する

2023-08-15 21:05:04

質問

を削除することは可能でしょうか? 最初の のテーブルからレコードを削除することはできますか? SQL Server を使用せずに WHERE 条件を使用せず、カーソルを使用せずに?

どのように解決するのですか?

WITH  q AS
        (
        SELECT TOP 1 *
        FROM    mytable
        /* You may want to add ORDER BY here */
        )
DELETE
FROM    q

注意点としては

DELETE TOP (1)
FROM   mytable

も動作しますが、前述のように ドキュメント :

で参照される行は TOP で使用される式で参照される行は INSERT , UPDATE または DELETE は順番に並べない。

そのため WITHORDER BY 節があり、これによりどの行を最初とみなすかをより正確に指定することができます。