Sql 创建表而不创建表
我有一个关于在要对其运行查询的数据库上创建表的约束。数据库系统是Postgres 我可以做到以下几点:Sql 创建表而不创建表,sql,postgresql,Sql,Postgresql,我有一个关于在要对其运行查询的数据库上创建表的约束。数据库系统是Postgres 我可以做到以下几点: testdb=# select 'john' as first, 'doe' as last; first | last -------+------ john | doe 但我想做的是: first | last -------+------ john | doe jane | doe
testdb=# select 'john' as first, 'doe' as last;
first | last
-------+------
john | doe
但我想做的是:
first | last
-------+------
john | doe
jane | doe
因此,我可以生成第一行,但不能生成下一行
或者,如果与数据库的会话丢失,是否有方法确保删除临时表
干杯
亚当,这就是你要找的吗
WITH testdb(first,last) AS (VALUES ('john','doe'), ('jane', 'doe'))
SELECT * FROM testdb;
WITH提供了一种编写辅助语句的方法,以便在更大的应用程序中使用
查询这些语句通常被称为公共表
表达式或CTE可被视为定义临时表
只存在一个查询。一个带有
子句可以是SELECT、INSERT、UPDATE或DELETE;以及WITH子句
它本身附加到主语句,主语句也可以是SELECT,
插入、更新或删除
最短(最紧凑)的表单是行构造函数:
select *
from (
values
('John', 'Doe'),
('Jane', 'Doe'),
('Arthur', 'Dent')
) as t (first, last)
临时表会在会话结束时自动删除。这个评论系统太可怕了。这正是我想要的。