2012-05-25 64 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) –