[LightDB兼容增强]DELETE子句中,FROM可选
背景:
标准SQL中,用于删除表中行数据时,通过FROM指定表名,在一些具体的数据库产品实现,如Oracle中,FROM是可选了,为了增加此特性兼容,LightDB在23.2的版本中加入了此功能。
支持的版本:自LightDB 23.2起
语法:
DELETE table_name;
用例:
基本用法:
dev@postgres=# CREATE TABLE tt(a int); CREATE TABLE dev@postgres=# INSERT INTO tt(a) VALUES(1); INSERT 0 1 dev@postgres=# TABLE tt; a --- 1 (1 row) dev@postgres=# DELETE tt WHERE a=1; DELETE 1 dev@postgres=# TABLE tt; a --- (0 rows)
WITH子句:
dev@postgres=# WITH delete_rows AS ( dev@postgres(# DELETE tt t WHERE t.a=2 dev@postgres(# RETURNING * dev@postgres(# ) dev@postgres-# SELECT * FROM delete_rows; a --- (0 rows) dev@postgres=# SELECT * FROM tt; a --- (0 rows)