【发布时间】:2011-10-23 17:09:25
【问题描述】:
我正在创建一个程序,它将数据插入一个非常简单的表中
但我的问题是我希望我的插入语句确保它没有插入重复数据
我想以某种方式检查数据要进入的表,以确保没有一行具有相同的 indivualid 和 categoryid 和 value
所以如果我要插入
indivualid = 1
categorid = 1
value = 1
在我的桌子上有一行
indivualid = 1
categorid = 1
value = 2
我的数据仍然会被插入
但是如果有一行
indivualid = 1
categorid = 1
value = 1
那就不会了
我试过了
IF @value = 'Y'
OR @value = 'A'
OR @value = 'P'
AND NOT EXISTS
(SELECT categoryid,
individualid
FROM ualhistory
WHERE categoryid = @cat
AND individualid = @id)
INSERT INTO individuory(categoryid, individualid, value, ts)
VALUES (@cat,
@id,
@yesorno,
getdate())
但它仍然会插入重复项。
【问题讨论】:
标签: sql stored-procedures sql-server-2000