我最近遇到了一個怪胎。以下是有效的SQL:「DELETE FROM TABLE」的output_expression是做什麼的?
DELETE FROM customer *;
PostgreSQL的DELETE文檔說明星是爲output_expression
的可能值:
的表達式來進行計算和 每行後DELETE命令返回被刪除。該表達式可以使用USING中列出的 表或列表的任何列名。寫*返回所有列。
我試過,沒有明星,也沒有看到區別。事實上,我可以在表名之後添加任何單詞,並且可以接受。它甚至不必是實際的列名稱。沒有額外的返回。
db=> DELETE FROM customer wheeeeeee;
DELETE 19
那麼它做了什麼,我可以用它做什麼?
問題also posted on the PostgreSQL mailing list。
爲什麼不嘗試它並找出? –
我做到了。它只是刪除行並返回沒有特別的東西。 –
看起來像是錯過了'RETURNING',它是'output_expression'前面的語法的非可選部分我假設'*'只是被視爲別名(如'wheeeeeee')。 –