标题:[求助]触发器的问题
只看楼主
小水滴
Rank: 1
等 级:新手上路
威 望:2
帖 子:227
专家分:0
注 册:2006-8-22
结帖率:100%
 问题点数:0 回复次数:3 
[求助]触发器的问题
现有二个表:
create table t1
(t1_id char(5) primary key,
bb char(10) )

create table t2
(t2_id char(5) primary key,
t1_id char(12) references t1(t1_id) )

现要编制一个触发器,当修改t1表t1_id列时,t2中的t1_id列也随之修改. 该如何编呢?请教各位.
搜索更多相关主题的帖子: 触发器 char key table create 
2007-03-30 14:24
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
得分:0 

if Update,楼主去查查这个的帮助
对特定列的更改进行测试
触发器定义中的 IF UPDATE (列名)子句可用来确定 INSERT 或 UPDATE 语句是否影响到表中的一个特定列。无论何时,当列被赋值时,该子句即为 TRUE。

说明 由于列中的特定值无法使用 DELETE 语句删除,IF UPDATE 子句也就不能应用于 DELETE 语句。


或者可以用 IF COLUMNS_UPDATED() 子句检查表中已用 INSERT 或 UPDATE 语句更新的列。该子句使用整型位掩码指定需测试的列。有关更多信息,请参见 CREATE TRIGGER。


26403021 sql群 博客 blog./user15/81152/index.shtml
2007-03-30 15:30
小水滴
Rank: 1
等 级:新手上路
威 望:2
帖 子:227
专家分:0
注 册:2006-8-22
得分:0 
版主所谈到的有关列级触发器的知识我知道,问题在于t2表中的t1_id列是t1表的外键,触发器被触发时报错.

如果删除外键的话,我担心t2表会出现非法数据.

[此贴子已经被作者于2007-3-30 16:13:57编辑过]


2007-03-30 16:01
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
得分:0 
没想到办法,我本想在改数据之前先把外键约束给禁用,等到改完再把外键约束启用,但是alter table 的命令在触发器中竟然不起作用

26403021 sql群 博客 blog./user15/81152/index.shtml
2007-03-30 16:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-128094-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015606 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved