向oracle数据库中插入数据时,先判断插入数据是不是重复,如果重复,通过sql提示重新输入,否则直接插入
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了向oracle数据库中插入数据时,先判断插入数据是不是重复,如果重复,通过sql提示重新输入,否则直接插入相关的知识,希望对你有一定的参考价值。
RT
上边已经描述的差不多了,主要实现的是判断和提示
请高人赐教,不胜感激
plsql程序很简单,关键是如果查询重复数据的方法,如果处理不好的话,程序运行非常缓慢。
建议,修改表的结构,对一行的数据对所有数据做一个校验值,象raid5一样,这样就可以加快查询速度了,但会降低插入速度,不过速度还是有提升的 参考技术A declare
i int;
begin
:
select count(*) into i from 表 where 关键字段=新值;
if i=0 then insert into 表... ...;
else 返回重新输入;
end if;
:
end;本回答被提问者和网友采纳 参考技术B 这样的话是想用存储过程呢还是用触发器呢?
功能语句块:
begin
if exists (select biao.x from biao,new where biao.x=new.x)
提示重新输入
else
提交事务
end
相类似的功能我的习惯是在应用程序当中进行控制,会比这样写sql简单的多。 参考技术C begin
if exists (select 1 from table where biao.x=&d)
提示重新输入
else
提交事务
end
JAVA中,向MYSQL插入多条数据,如何判断如果某记录已经存在就不插入
如题,是多条记录同时插入,在后台判断!如果是查询数据库再循环匹配的话效率太低。有没有更好一点的方法!
程序做。1、先检索已经有的数据。(第一次查询数据库,找到所有已存在记录)
2、和要插入的数据做比较,找出新数据。
3、插入新数据。
不要每次检索是否存在,会死人的。 参考技术A 那么给你一个建议,使用ajax技术,在用户录入数据时就进行判断,然后再直接存入,这样就不用在存入时判断!!希望对你有用!!! 参考技术B if(!hasRecord()) //如果数据库中没有此数据
//执行插入
else
//不处理或者其他提示信息
参考技术C 直接插,根据返回码判断成功与否 参考技术D 触发器
以上是关于向oracle数据库中插入数据时,先判断插入数据是不是重复,如果重复,通过sql提示重新输入,否则直接插入的主要内容,如果未能解决你的问题,请参考以下文章
oracle数据库,覆盖插入数据---- merge into
关于向mysql数据库中插入数据时,判断是不是进行插入的问题
向Oracle数据库插入数据时提示 ora-00947: 没有足够的值
ORA-06550,PLS-00306;向 Oracle 过程插入数据时出错