Как удалить данные старой таблицы после переноса в новую таблицу в базе данных в операторе вставки SQL - PullRequest
0 голосов
/ 10 декабря 2011
INSERT INTO Checkout(ProductID, MemberID, Quantity) 
SELECT ProductID, MemberID, Quantity FROM Cart WHERE (MemberID = MemberID)

Как использовать оператор delete для удаления старых данных таблицы после того, как я перешел в новую таблицу?

Ответы [ 2 ]

0 голосов
/ 10 декабря 2011

try

DELETE FROM CART C WHERE 
0 < (SELECT COUNT(*) FROM CHECKOUT CO WHERE CO.QUANTITY = C.QUANTITY AND CO.PRODUCTID = C.PRODUCTID AND CO.MEMBERID = C.MEMBERID)

Вышеприведенное удаляет все строки из CART, найденные в CHECKOUT на основе трех столбцов MEMBERID, PRODUCTID, QUANTITY.

Кстати: любая причина, по которой выиспользуется WHERE (MemberID = MemberID)?

ЕСЛИ второй MemberID - это параметр, переданный в запрос, я бы порекомендовал использовать для него другое имя, например pMemberID ... ЕСЛИ это случай, который вы могли бы сделать DELETE FROM CART WHERE MEMBERID = pMEMBERID.

0 голосов
/ 10 декабря 2011
DELETE FROM Cart WHERE MemberID = MemberID

Предполагая, что MemberID является переменной, передаваемой в запрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...