当我想往一个表(table1)插入记录时,首先判断这个表有没有相同的记录(select count(*) into var1 from table1 where ...),如果记录少的时候这种方法是可行的,但碰到很多记录的时候就非常的慢,如十万条记录差不多要一个小时,大家又没更好的方法呢?
解决方案 »
- 数据库设计问题
- 求解:这样的SQL语句如何查询
- PL/SQL 如何执行带返回游标的存储过程 !(SQL 窗口中如何调用)
- Oracle 写文件总是出错
- 求教如何使用Prepared Statement防止SQL注入式攻击
- 弱弱的问一个 LIKE 关键字问题
- sql语句中,调出的数据如何按要求显示(例)
- oracle9安装问题运行 runinstall 出现cannot execute binary file ?
- 请问TNSping 服务名,怎么用?
- slelect出错
- 一个很急的问题:sql语句中的位与运算好像oracle可以用bitand实现,但是位或怎么实现?我用了UTL_RAW.BIT_OR('0','0')怎么说参数不对!
- 关于笛卡尔乘积问题,高分求高手!
begin
insert into .......;
exception when dup_val_on_index then null(或其他操作);
end;dup_val_on_index 判断数据是否有主键重复2、如果你想对已有记录进行累加操作,可以这样:
begin
update tablename set .........;
if SQL%NOTFOUND then
insert into .........;
end if;
end;SQL%NOTFOUND 判断update是否失败
merge into(param...)using(select...)when is match then(insert..)
大家又没用过?可是我用的是8i啊!