假設已經存在以下數據表 Person 和 Person2
CREATE TABLE Person
(
Name varchar(255),
Sex varchar(255),
Address varchar(255)
);
CREATE TABLE Person2
(
Name varchar(255),
Sex varchar(255),
Address varchar(255)
)
1. IF NOT EXISTS 判斷是否已經存在
IF NOT EXISTS (SELECT TOP 1 Name FROM Person WHERE Name = '馬雲爸爸')
INSERT INTO Person(Name, Sex, Address)
VALUES('馬雲爸爸', '男', '阿里巴巴西溪園區')
解析:如果 Person 表中不存在 Name 爲 '馬雲爸爸' 的數據,則添加一條數據
2. WHERE NOT EXISTS 判斷是否已經存在
INSERT INTO Person(Name, Sex, Address)
SELECT Name, Sex, Address FROM Person2
WHERE Person2.Name = '馬雲爸爸'
AND NOT EXISTS (
SELECT Name FROM Person WHERE Name = '馬雲爸爸'
)
解析:讀取 Person2 中 Name 爲 '馬雲爸爸' 的數據,並判斷 Person 中是否已經存在了,若不存在則插入 Person 表中,存在則不插入