在数据库插入语句中,如何保证表中有该数据时不再插入新数据?有什么关键字可以用到吗?
将不能重复的列设置为主键,或者添加唯一索引
Create Table #TempTable
(
StudentName nvarchar(20) Not Null,
SubjectName nvarchar(20) Not Null,
Score int null
)
Declare @StudentName As nvarchar(20)
Declare @SubjectName As nvarchar(20)
Declare @Score As int
Select @StudentName = N'小明'
Select @SubjectName = N'语文'
Select @Score = 88
Merge Into #TempTable T1
Using (Select * From (Values(@StudentName,@SubjectName,@Score)) TempTable(StudentName,SubjectName,Score)) T2 On T2.StudentName=T1.StudentName And T2.SubjectName=T1.SubjectName
When Matched Then
Update Set T1.Score = T2.Score
When Not Matched Then
Insert (StudentName,SubjectName,Score)
Values (T2.StudentName,T2.SubjectName,T2.Score);