你想要怎样修改呢?
你可以这样做:
首先删除name字段在另外一个表的外键
alter table b 
drop constraint 外键约束的名字删除后,再修改表a的name字段
alter table a
你想要进行的修改语句

解决方案 »

  1.   

    楼主的用意是修改主键的值罢?可以设置为级联更新,或自己写一个触发器来同步修改。create trigger trg_A
    on A
    for update,delete
    as
    begin
        if exists(select 1 from inserted)
            update B set Name=(select Name from inserted) where Name=(select Name from deleted)
        else
            delete B where Name=(select Name from deleted)
    end
    go
      

  2.   

    //这儿也是一个触发器中的级联更新哈!!CREATE TRIGGER [NndComID] ON [dbo].[JyqHolder] 
    FOR INSERT, UPDATE
    AS
     
     if update(intComId)
     begin
           
           update VehicleBasic 
           set VehicleBasic.intComId=inserted.intComId 
           from VehicleBasic,inserted
           where VehicleBasic.intJyqId=inserted.intJyqId  
               and VehicleBasic.intblankout=0
           
     end
      

  3.   

    刚解决SQL的,Oracle同样的问题也来了,还需要大家的帮忙!!
    在Oracle中不支持级联更新,那该如何实现呢?能否写触发器?
      

  4.   

    Oracle中虽然没有及联更新,但是有行触发期!
    看看这个:ALTER TABLE tea ADD (CONSTRAINT tea_PK PRIMARY KEY(a)DEFERRABLE) ; 
          
    ALTER TABLE cup ADD (CONSTRAINT cup_FK FOREIGN KEY(a)     REFERENCES tea(a)   
    ON DELETE CASCADE DEFERRABLE)     
           
    CREATE OR REPLACE TRIGGER id_trg AFTER UPDATE ON tea FOR EACH ROW 
    BEGIN                                 //级联更新 
    UPDATE cup SET a=:NEW.a WHERE a=:OLD.a; 
    END;
      

  5.   

    不晓得Oracle怎么不支持级联更新!其实级联更新不只是在触发器中有用,在这个情况下还是有用的很哈:比如说做新项目的实施的时候,要把以前的老系统的数据导到新系统,这时候级联更新就非常有用了。
      

  6.   

    也就是说在SQL中级联更新和级联删除可以用触发器或级联2种方法实现,
    在Oralce中的级联删除可以用触发器或级联2种方法实现,而级联更新只能用触发器实现,是吧?
    呵呵,Oracle怎么的就不支持像SQL的级联更新呢?难道是怕死锁问题?
      

  7.   

    ALTER TABLE tea ADD (CONSTRAINT tea_PK PRIMARY KEY(a)DEFERRABLE) ; 
          
    ALTER TABLE cup ADD (CONSTRAINT cup_FK FOREIGN KEY(a)     REFERENCES tea(a)   
    ON DELETE CASCADE DEFERRABLE)     
           
    CREATE OR REPLACE TRIGGER id_trg AFTER UPDATE ON tea FOR EACH ROW 
    BEGIN                                 //级联更新 
    UPDATE cup SET a=:NEW.a WHERE a=:OLD.a; 
    END;
    对于这个我想问下,如果有几个表的外部关键字(或者不是外部关键字,仅仅就是简单的一个字段)都为cup表的id,是对每个关联的表都写个触发器?还是可以这样写:在ON tea 后面加,TableA,TableB   ?的形式?