我现在设计了这样一个数据库,其中有这样两个表有如下关系:
(SQL server2000)学生表(
学生ID primary key,
学生姓名,
性别,
年龄,
...,
家庭ID foreign references 家庭成员表(成员ID),
...
)家庭成员表(
成员ID primary key,
成员名,
与学生的关系,
工作单位,
...
)关于家庭成员表的触发器如何设计以便让学生表更新时随之修改!!
(SQL server2000)学生表(
学生ID primary key,
学生姓名,
性别,
年龄,
...,
家庭ID foreign references 家庭成员表(成员ID),
...
)家庭成员表(
成员ID primary key,
成员名,
与学生的关系,
工作单位,
...
)关于家庭成员表的触发器如何设计以便让学生表更新时随之修改!!
解决方案 »
- Indy10--idtcpserver内存流传输问题
- 做登陆窗体时超过20秒就停止身份验证的代码的怎么表示啊?
- 一个简单的焦点问题...
- 想自己制作MSN的插件,求相关文章或者样例!
- 哪有TwordApplication,TWorddocument的帮助说明?急!高分送
- 各位叔伯兄弟!有解的,先谢了;有缘的,捧个缘场呀!!!
- 关于"tab"的问题请教高手!
- 大家很讨厌我吗?为什么看到我的提问就没人回答?(想不到在csdn上会有歧视,好悲哀)
- 使用VC调用Delphi写的DLL时编译通过,也能正常运行,可相应的函数就是不执行指定的操作,好像DLL没有起做用一样
- 请教微软的新拼音如何备份词组,电脑一格式化,以前的词组全完了。
- 在Win2000操作系统下怎样自定义针式打印机的纸张大小?
- 用代码动态创建一个dbgrid,为什么执行后窗体上不能显示dbgrid?(在线)
下面举例说明ORACLE数据库存储过程的写法和用法。
可以建立一个存储过程,每当用户修改数据库的重要数据时,即把
用户的用户名、掌诤筒僮骼嘈图锹枷吕矗?nbsp;
create procedure update_log is
begin
insert into update_log_tab(use_name,update_date,operation)
values(user,sysdate,'update'
end;
可以在恰当的位置调用这个存储过程来记录用户对表的修改。例如下面在
表sal_comm上建立一个修改触发器,每当用户修改此表后,用户的名称、修改
时间和操作即被记录在了表update_log_tab中:
create trigger audit_update
after update on sal_comm
for each row
begin
update_log
end
for update
as
update 学生表 a
set a.家庭ID = inserted.家庭ID
from inserted,deleted
where a.家庭ID = deleted.家庭ID