我想運行基本插入sql查詢。插入SQL查詢,缺少列和無效列名
這裏是insert sql。
Insert into tblABC(X1,X2,X3)
Select X1,X2,X3 from tblXX
問題是tblXX
沒有X3
列。
有時X3
會在那裏,有時它會丟失。當列丟失時,按下默認值,如0
。
嘗試使用Case語句
CASE WHEN EXISTS (SELECT 1 From information_schema.Columns C
Inner Join Sys.Objects O
On (O.Object_Id = Object_Id(N'tblXX') And O.Name = C.Table_Name)
and C.Column_Name = 'X3') THEN X3
ELSE 0
END
我得到X3列無效列名稱錯誤
你怎麼推默認值到不存在的列? – 2014-09-03 14:37:21
它必須是單獨的語句,您可以檢查列是否存在並根據結果執行適當的代碼。看到http://stackoverflow.com/questions/133031/how-to-check-if-column-exists-in-sql-server-table – InitK 2014-09-03 14:41:56