MS SQL Server中可以将查询结果存储到表中,最重要的是,让查询创建表:
SELECT an_existing_column
INTO table_xyz
FROM an_existing_table
在MySQL中也可以使用:
CREATE TABLE table_xyz
SELECT an_existing_column
FROM an_existing_table
我搜索了Apache Derby Reference Guide,看不到实现类似行为的方法。
有没有人知道Apache Derby中是否可能这样做?
答案 0 :(得分:6)
将查询结果存储到表中:
INSERT INTO table_xyz (an_existing_column) SELECT an_existing_column FROM an_existing_table;
从另一个表创建一个表:
所有专栏:
CREATE TABLE table_xyz AS SELECT * FROM an_existing_table WITH NO DATA;
特定栏目:
CREATE TABLE table_xyz AS SELECT an_existing_column FROM an_existing_table WITH NO DATA;
答案 1 :(得分:1)
它在JAVA DB中不起作用,正确的方法是:
对于所有列:
步骤1:创建具有不同名称的新表。例如, my_new_table :
CREATE TABLE my_new_table AS SELECT * FROM original_table WITH NO DATA;
此语句以相同格式从原始表创建新表,并且不复制任何数据。需要指定WITH NO DATA
,因为它会创建一个具有相同列的新表。
第2步:使用INSERT INTO
将数据从 orig_table 复制到 my_new_table 。
INSERT INTO my_new_table SELECT * FROM orig_table.
然后您将复制所有数据。