日期:2014-05-18  浏览次数:20538 次

求触发器维护主表然后插入
CREATE   TABLE   key1
(key1ID   int   IDENTITY   NOT   NULL   CONSTRAINT   PK_key1   PRIMARY   KEY,
data1   varchar(100)   CONSTRAINT     key1_unique     unique,)

CREATE   TABLE   key2  
(key2ID   int   IDENTITY   NOT   NULL   CONSTRAINT   PK_key2   PRIMARY   KEY,
data2   varchar(100)     CONSTRAINT   key2_unique     unique,)

CREATE   TABLE   key1_MM_key2
  (
key1_MM_key2id   int   IDENTITY   CONSTRAINT   PK_key1_MM_key2   PRIMARY   KEY,
key1   int     CONSTRAINT   FK_key1   FOREIGN   KEY(key1)   REFERENCES   dbo.key1(key1ID),
key2   int     CONSTRAINT   FK_key2   FOREIGN   KEY(key2)   REFERENCES   dbo.key2(key2ID)
)

求触发器

INSERT   INTO   key1_MM_key2(key1,key2)   VALUES( 'a ', 'b ')
INSERT   INTO   key1_MM_key2(key1,key2)   VALUES( 'a ', 'c ')
1.维护主表
时候插入key1   表 'a '
插入key2表 'c '

然后
2。   插入   2条记录到
key1_MM_key2
key1                     key2
1                           1
1                           2


------解决方案--------------------
INSERT INTO key1_MM_key2(key1,key2) VALUES( 'a ', 'b ')
INSERT INTO key1_MM_key2(key1,key2) VALUES( 'a ', 'c ')
------------------------------------------------------
key1,key2在表key1_MM_key2中是int怎么插入字符类型....?
------解决方案--------------------
级联是没有办法实现你的功能,
插入主表不会考虑从表的,插入从表会检查是不是在主表中有记录
你可以做一个存储过程将参数分成两部分插入两个主表,再在主表中提取数据插入C表