SQL中,WITH RECURSIVE AS和WITH AS怎么写在同一段?

在PostgreSQL里,提供了一种方法写一个大的查询中使用的辅助报表与查询。它有助于打破复杂和大型查询简单易读的形式。这些声明,这是通常被称为通用表表达式或CTE值,可以被看作是定义临时表的存在只是一个查询。

WITH子句必须定义,在能在查询中使用。

在with查询的基本语法如下:

 
 
可以使用数据修改语句(INSERT,UPDATE或DELETE)与WITH一起。这可以在同一查询中执行不同的操作。
 
 
现在,让我们写一个查询使用WITH子句来选择从上面的表中,记录如下:
 
以上PostgreSQL的表会产生以下结果:
 
 
 

  
 
 
让我们使用数据修改语句,以及WITH子句编写一个查询,如下所示。首先创建一个类似于表公司表COMPANY1。查询在这个例子中,有效地移动行,从COMPANY到COMPANY1。删除删除指定的公司行RETURNING子句返回它们的内容;然后主查询读取输出,并将其插入到COMPANY1 表:
 
以上PostgreSQL的表会产生以下结果:
 

不过编辑器是报错的,请问with as 子句后面可以使用动态sql吗

我要回帖

更多关于 as380轮胎 的文章

 

随机推荐