如果是9i的话,可以用MERGE指令。

解决方案 »

  1.   

    [Q]如何使用Hint提示 
    [A] 在select/delete/update后写/*+ hint */ 
    如 select /*+ index(TABLE_NAME INDEX_NAME) */ col1... 
    注意/*和+之间不能有空格 
    如用hint指定使用某个索引   select /*+ index(cbotab) */ col1 from cbotab; 
      select /*+ index(cbotab cbotab1) */ col1 from cbotab; 
      select /*+ index(a cbotab1) */ col1 from cbotab a; 
      其中 
       TABLE_NAME是必须要写的,且如果在查询中使用了表的别名,在hint也要用表的别名来代替表名; 
    INDEX_NAME可以不必写,Oracle会根据统计值选一个索引; 
       如果索引名或表名写错了,那这个hint就会被忽略; 
      

  2.   

    to atao245993:
        我用的是存储过程,用关键字比较!表中的数据是比较多的!to Petergepeter:
        我在cb中调用存储过程,怎么用MERGE指令?to litzany(天涯沦落):
        怎么设个约束条件就不用每次判断了?怎么放在池里一次完成?    各位大哥,我是个新手阿,连怎么建索引都不会阿?接触oracle不是很久。
    谢谢各位。