一个基础表TableA,它被视图ViewA引用(且ViewA中不包含对其它表的引用),视图ViewA中写一插入触发器
当向基础表TableA中插入数据时,如何使得ViewA中的插入触发器触发?
当向基础表TableA中插入数据时,如何使得ViewA中的插入触发器触发?
解决方案 »
- 跪求解答方法,2表差异
- 高手请进:疑难杂症
- 字段的数据类型设为numeric,不能正确显示0.5!!求救!!!
- 我数据库里显示时间格式都是这样的:3/25/2004 7:50:39 PM 能不能设置一下变为这样呢:2004-9-25 19:50:39
- 如果数据库就在他面前,如何不让他对表进行更新和删除操作?
- 求SQL语言中exists的用法理解思路!!!!100分!!
- 用来作为开发是安装SQLServer2000企业版好还是SQLServer2000开发版好?
- RAISERROR创建问题。
- 交流一下,你们都常去哪个技术网站?
- 获取服务器上SQL Server 中的所有的数据库名,哪个存储过程????
- 好久没写sql语句了,求一语句,高手帮个忙
- 存储过程中用OpenRowSet访问excel时,参数的写法?
create view viewname
as
select * from tablenametablename的内容变化后,view的结果也就变了
INSTEAD OF INSERT
AS
BEGIN
INSERT INTO 表1
SELECT name1,name2
FROM inserted
INSERT INTO 表2
SELECT name3,name4
FROM inserted END
视图可以加触发器,
貌似指的是视图的结果数据增加时触发,插入也是插入到视图的相关表中。
--你可以直接在表上建触发器!当有插入,更新,删除时操作!
create trigger tr_name on tb
for insert,update,delete
我的基表实际上有几十上百个,它们都是同一类表,用于记录各种各样的事件的,这些表是结构化的,用于记录详细信息,这些表是必须存在的。
并且我还有一个总表,它是一个记录事件的总表,仅有描述性信息,它的描述是从事件基表中的关键列中取的值汇总的,同样是物理表,也是必须存在的。
对于这样的情况,我有以下办法可以使用
1.为这几十上百个表每一个都写插入、更新、删除触发器,以将信息同步到总表
2.写一个使用Union的总表视图,对此视图写插入、更新、删除触发器,当基表更新时,这个视图上的触发器自动触发,将信息同步到总表方法2相对于方法1来说工作量小了很多,并且维护方便(当然前提是这种方法能够实现哈)
可以建立一个存储过程,弄个汇总的,做个JOB,设定一个执行间隔时间,看你实际中更新表的频率了。