【SQL Server】插入数据时存在即跳过,不存在则插入
方法一 MERGE语句允许你同时执行插入、更新和删除操作。 MERGE INTO YourTable AS target USING (SELECT @YourKeyColumn AS KeyColumn, @YourValueColumn AS ValueColumn) AS source ON target.KeyColumn = source.KeyColumn WHEN NOT MATCHED THEN INSERT (KeyColumn, ValueColumn) VALUES (source.KeyColumn, source.ValueColumn); 在这个例子中,YourTable是你想要插入数据的表,KeyColumn是用于检查记录是否存在的键列,ValueColumn是你想要插入的值列。@YourKeyColumn和@YourValueColumn是你要插入的数据的变量。 方法二 另一种方法是使用IF NOT EXISTS语句来检查记录是否存在,如果不存在,则执行插入操作。 IF NOT EXISTS (SELECT 1 FROM YourTable WHERE KeyColumn = @YourKeyColumn) BEGIN INSERT INTO YourTable (KeyColumn, ValueColumn) VALUES (@YourKeyColumn, @YourValueColumn); END 在这个例子中,如果YourTable表中不存在KeyColumn等于@YourKeyColumn的记录,那么就会执行INSERT语句来插入新的记录。 区别 MERGE语句 语法简洁:MERGE语句通过一个操作就可以完成检查和插入的逻辑,代码更简洁。 操作原子性:MERGE语句通常在一个事务中完成,这保证了操作...