读书人

求触发器维护主表然后插入解决办法

发布时间: 2012-03-08 13:30:13 作者: rapoo

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

读书人网 >SQL Server

热点推荐