sql-server-2008 - 我的语法有什么问题?

标签 sql-server-2008 syntax

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

对于初学者来说,我得到: 关键字“AS”附近的语法不正确。

因此,我删除了它并替换为具有完整表名称的别名,这给了我: 关键字“INNER”附近的语法不正确。

我找到了这个question这是我发现执行INNER JOIN的地方,但是 SQL Server 没有正确解析它。有什么想法吗?

最佳答案

试试这个:

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

您错过了 top 语句后的表名/别名。

关于sql-server-2008 - 我的语法有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9427786/

相关文章:

sql-server-2008 - 如何提高在 2005 上运行良好的 SSIS 2008 包的更新性能?

c# - 通过存储到变量中来减少 SQL 查询?

mysql - 如果存在,MySQL 中的重复行

language-agnostic - 如何消除以下语法中的左递归?

c++ - 这个符号在 C++ 中是什么意思

sql-server-2008 - 连接字符串中的经典 ASP 集成安全

sql - 在Where子句中进行条件检查

python - 如何正确分割代码串

javascript - ES6 js "with"关键字

sql-server-2008 - 计算最长不间断语音时长