2016-03-18 44 views
0

我有表A保持所述列(test1test2test3),然後表B保持所述列(test4test5test6)。插入到表A中從表B,給出無效的列名錯誤

B,列test6加入在表中使用

ALTER TABLE dbo.B 
    ADD test6 VARCHAR(100) 

創建後我想做的事:

INSERT dbo.A (test1, test2, test3) 
SELECT test4, test5, test6 
FROM dbo.B 

它不斷回來說test6"Invalid Column Name"。這可能與使用ALTER TABLE聲明添加表格有關嗎?

A,我插入的是PK約束,但我不確定這是否相關,但。

+0

檢查表中的列使用'選擇COLUMN_NAME已從INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'B' AND TABLE_SCHEMA =「dbo''' –

+0

你缺少爲關鍵字 – Dejan

+0

@ sqlProfile87:不,他不缺該關鍵字 - 它是**可選**,您不必*使用它。 [請參閱有關INSERT的MSDN文檔](https://msdn.microsoft.com/zh-cn/library/ms174335.aspx) –

回答

0

這兩個任務都寫在一個SQL腳本中嗎?在這種情況下,我建議你在這些任務之間添加一個GO語句。

ALTER TABLE dbo.B 
    ADD test6 VARCHAR(100) 
GO 


INSERT INTO dbo.A (test1, test2, test3) 
SELECT test4, test5, test6 
FROM dbo.B 

如果這不起作用,請使用以下任務檢查該列是否存在。

SELECT * FROM dbo.B 
+0

我已經添加了關鍵字。打擾一下。 – Yvo

相關問題