ASA触发器怎样快速获取新增加行的信息
本帖最后由 jiang396 于 2013-05-27 15:27:43 编辑
ms sql里面的对于新增加的行(如logid),可以用一个inserted来获得,请问ASA中怎样获得新增加行(然后找到logid字段)
CREATE TRIGGER trig_users_insert
ON users
FOR INSERT
BEGIN
INSERT INTO UserRight(LogID, ResID)
SELECT Inserted.LogID, Resources.ResID //inserted
FROM Inserted, Resources //inserted系统逻辑表
ORDER BY LogID, ResID
END
GO
mssql中的解释:Inserted 表用于存储INSERT 语句所影响的行的副本。在一个插入或更新事
务处理中,新建行被同时添加到Innserted 表和触发器表中。Inserted 表中的行是触发器表中
新行的副本。
------对应asa中是哪个系统逻辑表????
------解决方案--------------------触发器
目标
1、定义触发器
2、解释触发器的使用
3、讨论使用触发器的优点
4、列出并说明Adaptive Server Anywhere所支持的四类触发器
5、Adaptive Server Anywhere所支持的两种触发器激发时机是什么?
6、触发器的结构
7、建立触发器
内容
1、触发器
2、触发器的使用
3、触发器的类型
4、触发器的实现
定义触发器
1、它是服务器方的编程,用以制约数据完整性
2、它由SQL及流程扩展语句构成
类似于存储过程
3、是自动执行的
4、与引发它的事务一起被提交或回滚的
5、继承着该表建立者的权限
触发器的用途
1、利用触发器能实现:
A>;对DDL而言过分复杂的数据数据完整性规划
B>;在数据项间存在逻辑关系的业务规划
C>;自动进行数值修改
D>;审计
制约数据完整性
1、触发器支持
A>;声明参照完整性
B>;缺省值
C>;NOT NULL 约束
D>;CHECK 条件
E>;主键
触发器的优点
1、独立于客户应用对数据库的访问
2、标准化 集中于中央位置实现各种规则
3、高效性 编码是已编译的
4、安全性 用户和应用无法回避触发器
触发器的类型
1、事件驱动的—当发生如下事件时可自动激发触发器
插入
删除
更新 当任何一列被更新都激发
列更新 仅当特定的列被更新时才激发它
触发器作用范围和时间
1、行级触发器 在每行之前或之后
2、语句级触发器 在整个操作完成之后
3、可激发同类型的多个触发器
一下子全部激发 按特定的次序来激发
建立触发器