sql:判断是不是存在相同记录,如果存在则改写,不存在则添加

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql:判断是不是存在相同记录,如果存在则改写,不存在则添加相关的知识,希望对你有一定的参考价值。

比如:有一个二维表,两列分别为DATE和AMOUNT,如何用SQL语言实现:判断是否存在DATE为2009-4-13的记录,如果存在则修改该记录的AMOUNT为50;如果不存在则添加记录DATE为2009-4-13,AMOUNT为50。
我是在C#中调用ACCESS数据库,所以请大家帮忙解答的时候注意一下在C#.net环境下可用性。谢谢!

可以先用
select count(date) into 变量名 from 表名 where date ='2009-4-13'
取date为'2009-4-13'的记录行数,如果为0则用insert语句,如果大于0,则用update语句

只用一条sql语句是出不来的
参考技术A call openconn
sql="select * from 二维表 where date='2009-4-13'"
rs.open,sql,cn.3,3
if rs.recordcount>0
then goto update
if rs.eof then goto addnew
update:
rs!date=2009-4-13
rs!amount=50
rs.update
call closeconn

addnew:

rs.addnew
rs!date=2009-4-13
rs!amount=50
rs.update
call closeconn

VB 可行~~~

sql server 判断记录存在更新不存在插入

sql server 2008 数据 sql语句判断记录如果存在就更新 不存在就将 其插入 请问这样的sql语句应该怎样写呢?

参考技术A if exists ( select 1 from tb) /*如果表TB中有记录,则更新,否则插入 你根据自己实际情况来*/
begin
update tb set xxx='XXX'
end

else
begin
insert into tb2
select * from tb
end本回答被提问者和网友采纳
参考技术B if exists(select * from 表名 where 判断记录存在的条件)
begin
update...更新语句
end
else
begin
insert...插入语句
end
参考技术C if exists(select * from sysobjects where name='表名称')
drop table 表名
go
create table 表名
参考技术D 写个存储过程吧。或者建个主键吧,这样插入就不会插入重复的数据了。 第5个回答  2013-07-17 IF(...)
BEGIN
...
END
ELSE
BEGIN
...
END

以上是关于sql:判断是不是存在相同记录,如果存在则改写,不存在则添加的主要内容,如果未能解决你的问题,请参考以下文章

java JDBC sql server 判断一条信息是不是已存在表中,如果不存在则添加,如果存在则更新重要字段

sql server 判断记录存在更新不存在插入

MySQL INSERT插入条件判断:如果不存在则插入

mysql中先判断数据是不是存在,如存在则增加数量,不存在则增加一条记录

比较两个list里是不是有相同的元素

MySQL INSERT插入条件判断:如果不存在则插入