Этот SQL отлично работает на MS SQL Server, но создает ошибку «ORA-00907: отсутствует правая скобка».Oracle vs MS SQL UPDATE с использованием IN SELECT
SQL:
UPDATE DELIVERY
SET VISIBLE = 0
WHERE DELIVERY.ID
IN
(
SELECT DELIVERY.ID FROM delivery WHERE DELIVERY.VISIBLE = 1
EXCEPT
SELECT DELIVERY.ID FROM delivery LEFT JOIN inventory ON INVENTORY.DELIVERYID = DELIVERY.ID
WHERE ((DELIVERY.VISIBLE = 1) AND (INVENTORY.VISIBLE = 1)) AND (INVENTORY.INVENTORYSTATE = 3)
);
Есть ли способ, чтобы заставить это работать на Oracle или это обновление с использованием IN с ЗЕЬЕСТОМ только концептуально неправильным?
использования Где существует в Oracle – HaveNoDisplayName
@Piyush Спасибо, я посмотрю, что сейчас ... – James
IN также может работать в Oracle – HaveNoDisplayName