删除查询错误消息“无法从指定表中删除" [英] Delete query error message "cant delete from specified tables"
本文介绍了删除查询错误消息“无法从指定表中删除"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试针对本地 Access 表运行此删除查询,但收到错误消息
I am trying to run this delete query against a local Access tables, but I get error message
无法从指定表中删除
请提供正确的 SQL 以进行复制和粘贴.
Please provide me the proper SQL to copy and paste.
非常感谢你,纳撒尼尔
DELETE RO.*, RO.STATUS, CO.ID, CO.PRINTED_DATE
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 在 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)
这篇关于删除查询错误消息“无法从指定表中删除"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文