如何在insert语句中使用top关键字?

0 sql-server

当我得到异常时,我正在使用它作为LIMIT Incorrect syntax near the keyword 'TOP'.

也许我可以在没有问题的情况下省略它,但如果我不能在哪里放顶?

INSERT INTO [user_data] (...) SELECT 
...
@14 WHERE not exists (SELECT * FROM [user_data] WHERE [email] = @15 OR 
[name] = @16 OR 
[unconfirmed_email] = @17 TOP 1);
Run Code Online (Sandbox Code Playgroud)

Dan*_*olo 5

TOPSELECT在SQL Server中追求,而不是像LIMIT在其他DBMS中那样.

SELECT TOP 1 <fields> FROM ...

所以你的查询将成为:

INSERT INTO [user_data] (...) SELECT
...
@14 WHERE not exists (SELECT TOP 1 * FROM [user_data] WHERE [email] = @15 OR 
[name] = @16 OR 
[unconfirmed_email] = @17);
Run Code Online (Sandbox Code Playgroud)