Bruce Momjian <[EMAIL PROTECTED]> writes: > Hannu Krosing wrote: >> What about >> >> DELETE relation_expr FROM relation_expr [ , table_ref [ , ... ] ] >> [ WHERE bool_expr ] >> >> or >> >> DELETE relation_expr.* FROM relation_expr [ , table_ref [ , ... ] ] >> [ WHERE bool_expr ]
> So make the initial FROM optional and allow the later FROM to be a list > of relations? Seems kind of strange. No, I think he's suggesting that one be able to pick out any element of the FROM-list and say that that is the deletion target. I really don't want to get into that (unless there is precedent in Oracle or someplace); it seems way too confusing to me. It would also force us to do error checking to eliminate cases that ought to just be syntactically impossible: target table not present, target is a join or subselect instead of a table, target is on wrong side of an outer join, etc. [ and in another message ] > The FROM ... FROM looks weird, and there is clearly confusion over the > FROM t1, t2. I wish there was another option. The only other thing that's come to mind is to use a different keyword (ie, not FROM) for the list of auxiliary relations. WITH might work from a simple readability point of view: DELETE FROM target WITH other-tables WHERE ... But we've already got FROM as the equivalent construct in UPDATE, so it seems weird to use something else in DELETE. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org