现在是一个oracle 10g 和 sqlserver2000 数据库,两张表中存在相同的表,
现在想从oracle 表中数据进行数据校验后直接插入到sqlserver数据库中。表结构相同。
区别:oracle数据库中表不存在主键,sqlserver表中存在主键,其余表结构相同。
目的:就是就是 要抓取 主键字段是空 和 主键存在重复数据的数据。    我现在的想法:就是把每张表中的主键字段单独存在一个表中,然后通过循环什么的进行逐一进行判断,但是现在我不知道具体怎么实现,
                  可能有的表中主键字段不只是一个。由于表主键比较多,我不能一张表一张表写。
请各位大侠帮我想想,尽量写出sql语句实现和设计。如果有更好的想法请提出。
不胜感激!!!

解决方案 »

  1.   

    一般不用循环的,因为用循环比较慢,可以用exists或not exists效果更好一些;
    不需要把每张表的主键单独存到另一个表;象这样最好你把表结构都帖出来
      

  2.   


    请把你oracle中的表结构以及sqlserver的表结构贴出来吧!---------------------------------------
    小菜鸟怒过,说的不当之处,请斧正啊!
      

  3.   

    oracle sqlserver中都是这张表,但是有很多这样的表的!我一个一个写的话大概有50张表的。
    但是在oracle 中不创建primary key,在向sqlserver这张表中插入数据之前进行校验,
    判断 n_related_id 列是不是存在重复数据。
    create table t_related
    (
    n_related_id Numeric(18,0) not null,
    c_plyvhl_no varchar(30),
    c_cali_no varchar(30)
    );alter table t_related
    add  primary key (n_related_id);
    帮忙想想,谢谢