gpt4 book ai didi

sql-server - 插入前检查现有记录

转载 作者:行者123 更新时间:2023-12-04 06:34:23 25 4
gpt4 key购买 nike

我想使用 C# 和 SQL Server 2000 作为数据库插入多条记录(~1000),但在插入之前如何检查我插入的记录是否已经存在,如果存在,则应插入下一条记录。记录来自结构化的 excel 文件,然后我将它们加载到通用集合中并遍历每个项目并像这样执行插入

// Insert records into database
private void insertRecords() {

try {
// iterate through all records
// and perform insert on each iteration
for (int i = 0; i < names.Count; i++) {
sCommand.Parameters.AddWithValue("@name", Names[i]);
sCommand.Parameters.AddWithValue("@person", ContactPeople[i]);
sCommand.Parameters.AddWithValue("@number", Phones[i]);
sCommand.Parameters.AddWithValue("@address", Addresses[i]);

// Open the connection
sConnection.Open();
sCommand.ExecuteNonQuery();
sConnection.Close();

}
} catch (SqlException ex) {
throw ex;
}
}

此代码使用存储过程插入记录,但我可以在插入前检查记录吗?

最佳答案

在您的存储过程中,您可以进行如下检查(猜测表名和列名,因为您没有指定):

IF EXISTS(SELECT * FROM dbo.YourTable WHERE Name = @Name)
RETURN

-- here, after the check, do the INSERT

您可能还想在 Name 上创建唯一索引列以确保不存在具有相同值的两行:
CREATE UNIQUE NONCLUSTERED INDEX UIX_Name
ON dbo.YourTable(Name)

关于sql-server - 插入前检查现有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5017840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com