繁体   English   中英

如果存在则更新else在SQL Server 2008表中插入记录

[英]If exist update else insert records in SQL Server 2008 table

我有一个临时表,并希望将数据插入Main表,所以我想检查从登台到主表插入数据,如果存在然后更新记录,否则插入新记录。 这里的问题是暂存以及Main表没有任何基于我可以比较值的键列。

是否可以不使用关键列,即两个表上的主键? 如果有,请,建议我如何。

提前致谢。

如果一行中没有唯一键或数据集来定义唯一性,则不。

数据集可以是每列中数据的组合,创建将提供唯一性的部分之和; 但是,如果不接触您的数据,您需要做出该决定。

您编写WHERE子句以包括使您的记录唯一的所有字段(即,决定记录是新的还是应该更新的字段。)

请查看本文( http://blogs.msdn.com/b/miah/archive/2008/02/17/sql-if-exists-update-else-insert.aspx ),了解有关如何构建它的提示。

如果你使用的是SQL Server 2008r2,你也可以使用MERGE语句 - 我没有在没有键的表上尝试过,所以我不知道它是否适合你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM