2016-03-21 4 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.

Например:

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

Это SQL DELETE примера будет удалить все записи в поставщиках таблицы, где есть запись в таблице клиентов, имя которого IBM и customer_id является таким же, как 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'); 

Это из SQL: DELETE Statement

0

Вы могли бы попытаться положить заявление в петлю с аргументом, как условие петли, а затем просто дайте количество петель для вас, как это увеличивает.

Смежные вопросы