insert时能否排重且不报错

中文命名法 2020-12-12 05:22:19
客户提交一条或者一组纪录时不考虑排重。
客户端和SQL server发生通信时,直接把这一条或者一组数据发送给sql,
SQL那边判断如果表里已经有相同纪录,那就不新增,只新增没有的部分。

譬如,已有表“学生”,唯一字段“姓名”,已有2条纪录,“张三”和“李四”。
希望以下情况:
1,新增“王五”时,入库;
2,新增“李四”和“王五”时,“王五”入库;
3,新增“张三”,“李四”和“王五”时,“王五”入库;

返回给客户端的还是几条记录已更新,请问这样的新增语句要怎么写?
...全文
128 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
AcHerat 2020-12-14
  • 打赏
  • 举报
回复
就看你后端的sql是如何写的,一般是按数组形式来循环执行insert语句 类似下方
for(pname in 数组){
执行sql语句:
insert into tb(peopleName) select @pname  where charindex(@pname , peopleName) = 0
}
xiaoxiangqing 2020-12-14
  • 打赏
  • 举报
回复
索引可以设为重复自动去重
wwfxgm 2020-12-14
  • 打赏
  • 举报
回复
你这个需求,就是使用merge into 语句的时候到了。
https://blog.csdn.net/spw55381155/article/details/79891305
卖水果的net 2020-12-13
  • 打赏
  • 举报
回复
merge into when matched ,这个语法是可以满足现在这个需求的。
中文命名法 2020-12-12
  • 打赏
  • 举报
回复
百度有insert into 和 where not exists写法,但我这是一批数据,不是一条,这要怎么写呢?
lao_yunger 2020-12-12
  • 打赏
  • 举报
回复
两步 1、选择出不同的部份AA 2、select into XX from AA

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧