sql-server - 在 SQL Server / Liquibase 中,INSERT 查询是否会自动创建一个没有 CREATE 架构的表(如果它不存在)?
问题描述
我正在使用 Liquibase 来管理 SQL Server 脚本(创建、更新、删除、更改等)。
我的要求是在从原始表 ( ) 中删除两列 ( , old_table_a
) 之前创建一个备份表 ( ) 。column_1
column_2
table_a
新的备份表不需要主键,所以它只有两列,如下所示
old_table_a
- column_1(来自原始 table_a)
- column_2(来自原始 table_a)
如果我只写INSERT
如下所示的查询,而没有CREATE TABLE old_table_a
INSERT INTO old_table_a (column_1, column_2)
SELECT column_1, column_2
FROM table_a
我在某个博客的某个地方读过这个,但找不到这个。
如果可能,请提供一些信息。
否则我知道通常的方法是创建新的备份表,然后用原始值填充新表。
解决方案
这可以通过 SELECT * INTO 来完成:
SELECT * INTO [NEWTABLE] FROM [OLDTABLE]
推荐阅读
- function - gmake 函数/ifneq/else/endif
- typescript - 在 TypeScript 中扩展 3rd 方接口
- android - java.lang.IllegalArgumentException:未能找到包含 /data/data/ 的已配置根目录
- artifactory - 用于 jfrog 布局的 baserev 的自定义正则表达式
- python - 通过比较行 pandas 创建一个新列
- c++ - 使用pybind11在类方法中调用嵌入函数
- sql - 计算由另一个字段oracle sql数据库分组的每个字段中非空白条目的数量
- swift - 子类化 SPTCoreAudioController 时如何使音频按预期流动
- java - Java Servlet 方法参数、响应和线程安全
- javascript - AngularJS Empty Respose 使用 Spring Boot 和 Mongodb