SQL Server IF EXISTS

kar*_*hik 4 sql-server

我必须将数据插入表中,但仅限于它尚不存在.

我使用以下方法检查现有行:

IF EXISTS (SELECT 'X' FROM Table1 where id = @id)
Run Code Online (Sandbox Code Playgroud)

是否会使用'X'提高性能而不是使用列名?

gbn*_*gbn 8

不可以.您可以使用*,列名,NULL甚至1/0.

根据ANSI标准,不应对其进行评估.Page 191 ANSI SQL 1992标准.

*MSDN中提到

但是,更好的方法是使用MERGE(SQL Server 2008)或只是捕获错误.以前的SO回答我:,