Skip to content Skip to sidebar Skip to footer

Sql Server If Exists

I have to insert data into table but only if it does not already exist. I check for existing rows using: IF EXISTS (SELECT 'X' FROM Table1 where id = @id) Will the use of 'X' impr

Solution 1:

No. You can use *,column name, NULL or even 1/0.

As per the ANSI standard, it should not be evaluated. Page 191 ANSI SQL 1992 Standard.

* is mentioned in MSDN

However, a better way is to use MERGE (SQL Server 2008) or simply catch the error. Previous SO answers from me: One, Two

Solution 2:

It's probably negligible difference. I think the most common "pattern" I've seen is to just select 1 when you're just checking for existence, but I wouldn't worry about it too much.

select1from Table1...

Solution 3:

One technique would be to add a unique constraint on the column. Always insert a record and handle the failure case where that id already existed in the table.

Post a Comment for "Sql Server If Exists"