在SQL Server / Liquibase中,如果INSERT查询不存在,则是否自动创建表而不创建CREATE模式?

时间:2018-07-24 09:11:18

标签: sql-server insert liquibase

我正在使用Liquibase来管理SQL Server脚本(创建,更新,删除,更改等)。

我的要求是创建一个备份表(例如old_table_a),然后才能从原始表(column_1)中删除两列(column_2table_a)。

新的备份表不需要主键,因此只有两列,如下所示

old_table_a

  1. column_1(来自原始table_a)
  2. 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

我已经在某个博客的某处阅读了此内容,但是找不到它。

请提供一些可能的信息。

否则,我知道执行此操作的通常方法是创建新的备份表,然后使用原始表中的值填充新表。

2 个答案:

答案 0 :(得分:2)

这可以通过SELECT * INTO来完成:

SELECT * INTO [NEWTABLE] FROM [OLDTABLE]

答案 1 :(得分:-3)

INSERT tableName1(ColumName)  (从TableName2中选择(ColumName))