在运行作业来更新表格时,当我试图重新填充表格时,我的表格似乎没有下降

时间:2017-11-27 19:52:25

标签: sql sql-server-2008 tsql ssms

我的问题是,当我更新作业以插入更多值时,为什么我的桌子似乎没有掉落。

我必须在我的桌子上添加两个额外的列(纬度和经度)。我将我的工作更新为如下所示:

    BEGIN TRAN T2;

    IF (OBJECT_ID('Warehouse.dbo.table') IS NOT NULL)
      DROP TABLE Warehouse.dbo.table;

    CREATE TABLE Warehouse.dbo.table
    ( id nvarchar(64) PRIMARY KEY,
      address1 varchar(max),
      address2 varchar(max),
      city varchar(60),
      state varchar(30),
      country varchar(45),
      zip varchar(30),
      latitude FLOAT,
      longitude FLOAT
    );

    INSERT INTO Warehouse.dbo.table

    SELECT DISTINCT
      long_id AS id,
      address1 AS address1,
      adress2 AS address2,
      city AS city,
      state AS state,
      country AS country,
      zip AS zip,
      latitude AS latitude,
      longitude AS longitude
    FROM Warehouse.dbo.other_table

    COMMIT TRAN T2;

它有工会等,但代码运行。当我尝试运行该作业时,我会收到以下错误:

  

列名或提供的值与表定义不匹配。

现在我添加了两列,但我删除了表并重新创建它,所以我不确定为什么表似乎没有掉落。我不得不手动运行

 DROP TABLE Warehouse.dbo.table;

然后再次运行我的工作,以便用两个新列进行更新。

有人有解释吗?有没有办法确保掉落工作,所以我不必手动丢弃它?

谢谢!

0 个答案:

没有答案