[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)

  

 

posted on 2023-05-09 11:50  aodb  阅读(18)  评论(0编辑  收藏  举报