2016-03-21 7 views
0

後、私はDELETEコマンドの後に削除されますどのように多くのレコードをカウントしてみてください:カウント削除されたレコードDELETE

SELECT COUNT(*) FROM BOXES 
WHERE EXISTS ( 
    DELETE FROM BOXES WHERE product='25043620' AND Order='0846' 
) 

私は、削除の近くに構文エラーを取得しますが、私はそれである把握することはできません。

+0

https://www.sqlite.org/c3ref/changes.html:*この関数は、最後に完了したINSERT、UPDATE、またはDELETEステートメントで変更、挿入、または削除された行の数を返します。 –

答えて

1

DELETE FROM BOXES WHERE product='25043620' AND Order='0846' 

した後で、変更のためのデータベースを頼む:

SELECT changes() 

、あなたが削除された行数を取得します。

0

カウントと削除を組み合わせることはできません。それらを個別に行う。

ここだと例: -

例 - SQLを使用すると、あなたはまた、より複雑な削除を実行することができます句

をEXISTS。

別の テーブルの値に基づいて、あるテーブルのレコードを削除することができます。削除を実行するときは、SQL FROM句 に複数のテーブルをリストできないため、SQL EXISTS句を使用できます。例えば

このSQLサプライヤー 名 IBMで顧客テーブル内のレコードがあるテーブル、およびCUSTOMER_ID内のすべてのレコードを削除してしまう例をDELETEが同じである

DELETE FROM suppliers 
WHERE EXISTS 
    (SELECT customers.customer_name 
    FROM customers 
    WHERE customers.customer_id = suppliers.supplier_id 
    AND customers.customer_name = 'IBM'); 
supplier_id。

削除する行の数を確認する場合は、 の削除を実行する前に、 は次のSQL SELECT文を実行できます。

SELECT COUNT(*) FROM suppliers 
WHERE EXISTS 
    (SELECT customers.customer_name 
    FROM customers 
    WHERE customers.customer_id = suppliers.supplier_id 
    AND customers.customer_name = 'IBM'); 

この

0

SQL: DELETE Statementからあなたは、ループの条件として引数を指定してループに文を入れてみてください可能性があり、それが増分のようにあなたのためだけにループカウントをしましょう。

関連する問題