【发布时间】:2011-07-31 22:34:01
【问题描述】:
我正在尝试在 MS Access 中使用 DELETE 子句,但在使用 JOIN 子句时也遇到了问题。我注意到这可以通过使用DISTINCTROW 关键字来完成。
例如,以下 SQL 语句不允许删除:
DELETE Table1.*
FROM Table1 INNER JOIN Table2 ON Table1.Name=Table2.Name;
但是,这个语句确实:
DELETE DISTINCTROW Table1.*
FROM Table1 INNER JOIN Table2 ON Table1.Name=Table2.Name;
- 为什么在使用
DISTINCTROW关键字时DELETE起作用? - 更具体地说,JET 引擎中发生了什么需要这样做?
【问题讨论】:
-
考虑到
DELETE作用于整行而不是列,在DELETE和FROM关键字之间指定anything 没有任何意义。
标签: sql ms-access delete-row sql-delete