SQL查询成功完成,但不会导致
问题描述:
使用SQL Server Management Studio中2017年 我进口2000万左右的电子邮件列表,只是跑下面的代码,以消除任何重复:SQL查询成功完成,但不会导致
WITH CTE AS
(
SELECT *,ROW_NUMBER() OVER (PARTITION BY email ORDER BY email) AS RN
FROM dbo.cleanemails
)
DELETE FROM CTE WHERE RN<>1
它说,查询成功执行,并且在消息选项卡下显示有1000万行受到影响(预期),但没有结果选项卡。 我想导出到一个CSV文件。 我检查执行设置,因为Parseonly和Noexec设置有时会导致问题,但它们都是关闭的。
答
如果你想查看已删除的记录,那么你可以使用OUTPUT
条款
;WITH CTE
AS (SELECT *,
Row_number()OVER (PARTITION BY email
ORDER BY email) AS RN
FROM dbo.cleanemails)
DELETE FROM CTE
output deleted.*
WHERE RN <> 1
你在做删除,这只是删除记录。如果你想要显示记录,你需要选择 – HoneyBadger
这里没有选择语句。你执行了一个DELETE,它不会输出rowcount以外的任何东西。你期望输出什么? –
下次请使用更好的质量上传屏幕截图,以便我们可以真正看到事物(工作室截图)。 – Moseleyi