ADO+MS SQL SERVER 
比如有两个表1行政部门表:行政部门编码(PK)、行政部门名称;2职员表:职员编码(PK)、职员名称、行政部门名称..... 当行政部门表中的行政部门名称改变时职员表中对应的行政部门名称也相应改变。就是参照完整性的问题,需要建触发器或存储过程吗?该怎样做请各位指点,我是新手请各位说详细一点,谢谢!

解决方案 »

  1.   

    你的表结构有问题,职员表中应该存行政部门编码.
    select 1.*,2.行政部门名称  from 1,2 where 1.行政部门编码=2.行政部门编码.
    这样的话肯定行的.
      

  2.   

    可以这样做,不用任何代码:职员表:职员编码(PK)、职员名称、行政部门编码(FK外键)  // 行政部门名称,要改为编码
    alter table 职员表
       add constraint FK_职员表_REFERENCE_行政部门表 foreign key (行政部门编码)
          references 行政部门表 (行政部门编码)
          on update cascade on delete cascade
    go
    这样建立的表会自动实现级联修改和级联删除
      

  3.   

    这个问题使用触发器就可以解决了,只要在行政部门表中创建一个触发器,当改变行政部门名称时用sql 语句查找职员表中的政部门名称字段,修改就可以了