且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

删除查询错误消息“无法从指定表中删除"

更新时间:2023-02-18 19:24:11

此查询依赖于 SYSADM_CUSTOMER_ORDER 在 ID 上具有唯一索引.

This query depends on SYSADM_CUSTOMER_ORDER having a unique index on ID.

DELETE ro.*
FROM tmpReleasedOrders AS ro
LEFT JOIN SYSADM_CUSTOMER_ORDER AS CO 
ON RO.orderID = CO.ID
WHERE RO.STATUS="C" Or RO.STATUS="X" OR CO.ID Is Null OR CO.PRINTED_DATE Is Null

如果您在 SYSADM_CUSTOMER_ORDER 上没有索引,您可以在这些行上使用一些东西:

If you do not have an index on SYSADM_CUSTOMER_ORDER, you can use something on these lines:

DELETE tmpreleasedorders.*
FROM tmpreleasedorders
WHERE  status IN ( "c", "x" )
OR orderid IN (
   SELECT orderid
   FROM   tmpreleasedorders AS ro
   LEFT JOIN sysadm_customer_order AS CO
   ON RO.orderid = CO.id
   WHERE  CO.id IS NULL
   OR CO.printed_date IS NULL)