2012-02-24 102 views
2
WHILE @@ROWCOUNT <> 0 
BEGIN 
    CHECKPOINT; 
    DELETE TOP (300000) 
     FROM [dbo].[Event] AS E 
    INNER JOIN #tempEvents AS TE 
     ON E.[EventID] = TE.[EventID] 
END 

对于初学者来说,我得到: Incorrect syntax near the keyword 'AS'.我的语法有什么问题?

所以,我删除这一点,并与全表名别名代替,这给了我: Incorrect syntax near the keyword 'INNER'.

我发现这个question这是我发现了关于做INNER JOIN,但SQL Server不正确解析此。有任何想法吗?

回答

3

试试这个:

WHILE @@ROWCOUNT <> 0 
BEGIN 
    CHECKPOINT; 
    DELETE TOP (300000) E 
     FROM [dbo].[Event] AS E 
    INNER JOIN #tempEvents AS TE 
     ON E.[EventID] = TE.[EventID] 
END 

你无缘语句后的tablename /别名。

+0

优秀 - 谢谢! – 2012-02-24 08:56:09