zip 在 Employees 中被引用为 外码!
--什么意思?

解决方案 »

  1.   

    那你做个触发来实现,UPDATE前先检查主表是否有记录,没有就处理
      

  2.   

    //功能:更新的zip 码! set serverout on ;declare 
    rec_zip zipcodes%rowtype;  procedure UpdateZip( oldzip char , newzip char )
      is
      m_zip zipcodes%rowtype;
      begin
        select * into m_zip
        from zipcodes
        where zip = oldzip;
        
        insert into zipcodes
        values ( newzip , m_zip.city );
        
        update employees
        set zip = newzip
        where zip = oldzip;
        
        update customers
        set zip = newzip
        where zip = oldzip; 
        
        delete from zipcodes
        where zip = oldzip;
        
        
      end;
      
    begin  UpdateZip ( '67226' , '67227' );end;/*
    zipcodes(zip ,city ) zip is primary key.
    customers(cno,cname,zip) cno is primary key , zip is foreign key refered to table zipcodes
    employees(eno,ename,zip)............................................................
    */我写了一个trigger ,在更新前调用, 但还是基本上 要按上面的思路,有没有别的方法!?
      

  3.   

    我已搞定 , 自己 在 trigger 中犯了一个 低级错误!!  原来在trigger 中很简单 !但还是要谢谢各位!