请问如何实现这个结果.谢谢.

[复制链接]
查看11 | 回复6 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
请问得到这样的解决,如何操作比较优.
CREATE TABLE AAA
(
ID int IDENTITY (1, 1) ,
NAME varchar (50) NULL ,
KEY1_OLD varchar(255) NULL,
PRIMARY KEY(ID)
)

CREATE TABLE BBB
(
ID int ,
NAME varchar(50),
KEY2_NEW varchar(255)
)

CREATE TABLE TEST
(
ID int ,
NAME varchar(100) NULL,
AGE int NULL
PRIMARY KEY(id)
)
INSERT INTO TEST VALUES(100,'AA',20);
INSERT INTO TEST VALUES(101,'BB',20);
INSERT INTO TEST VALUES(102,'CC',20);
INSERT INTO TEST VALUES(103,'DD',20);
对表test更新进行触发
分两种情况:
a:当直接修改主键时,需在AAA 表种记录如下信息;
执行update TEST SET ID=1 WHERE NAME='AA'后;
第一需求:在AAA表需有如下记录
ID NAME KEY1_OLD
111 id 1
第二需求:在BB表需有如下记录
ID NAME KEY2_NEW
111 id 100
说明:
AAA表中id为自增长类型;
AAA与BBB中的ID在关联的;
NAME就是主键或者其他字段名称;
KEY1_OLD 与KEY2_NEW为主键修改前的值与修改后的值.
b:当修改其他字段时(除主键外)时,需在AAA
a:当直接修改主键时,需在AAA 表种记录如下信息;
执行update TEST SET NAME='EEEEEEE' WHERE ID=101;后;
第一需求:在AAA表需有如下记录
ID NAME KEY1_OLD
112 id 101
第二需求:在BB表需有如下记录
ID NAME KEY2_NEW
112 NAME NULL
说明:
AAA表中id为自增长类型;
AAA与BBB中的ID在关联的;
AAA表中的name值为主键字段名称;
BBB表中的name值为本次修改的字段名称.
请问如何实现.谢谢.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
高手们帮忙看看.谢谢.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
晕,这么麻烦.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
是啊.现在可郁闷了.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
高手帮忙看看啊.说个思路也行啊.谢谢.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
我觉得你的需求说得很不明白.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
我晕.那里不明白呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行