我的问题是,当我更新作业以插入更多值时,为什么我的桌子似乎没有掉落。
我必须在我的桌子上添加两个额外的列(纬度和经度)。我将我的工作更新为如下所示:
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;
然后再次运行我的工作,以便用两个新列进行更新。
有人有解释吗?有没有办法确保掉落工作,所以我不必手动丢弃它?
谢谢!