2012-05-25 105 views
-1

我得到一個語法錯誤,說這個選擇是畸形的......不知道爲什麼。插入表變量失敗,並選擇

Insert into @MyTableVariable (select @new_identity, Name from Company where soemField = 'some text value') 

@new_identity只是一個以前插入語句INT VAR設置爲SCOPE_IDENTITY()

回答

2
Insert into @MyTableVariable (newIdentityColName, nameName) 
    select @new_identity, Name from Company where someField = 'some text value' 
+0

我不應該指定用那種語法...指定的字段是在值之前插入。通常它是一個快捷方式,您只需選擇不需要的字段(newIdentityColName,nameName) – PositiveGuy

+0

您是否正確拼寫'soemField'?我想你不必這樣做。如果有列添加,刪除或重新排列,這只是一個很好的做法。 – Kyra

+0

@CoffeeAddict:參見[亞倫伯特蘭的「壞習慣踢」博客文章](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/10/bad-habits-to-kick-using -select-omitting-the-column-list.aspx) –