求触发器维护主表然后插入
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表